Skip to content

feat: add portable Vim and Neovim profiles with vim-plug - #1

Merged
everbird merged 1 commit into
masterfrom
codex/portable-vim-neovim-vim-plug
Oct 20, 2026
Merged

everbird merged 1 commit into
masterfrom
codex/portable-vim-neovim-vim-plug

Conversation

@everbird

Copy link
Copy Markdown
Owner

The existing configuration eagerly loads legacy Pathogen submodules, assumes workstation tools and macOS-specific paths, and lacks a shared Neovim entry point. This change makes basic editing usable with regular Vim 7.4+ and Neovim 0.9+ on macOS and Linux, while enabling richer features through an explicit full profile.

Changes

  • Share configuration between Vim and Neovim, preserving the comma leader, familiar mappings, personal themes, and mindflow snippets.
  • Replace Pathogen and Git submodules with 13 explicitly pinned vim-plug plugins. Include an unmodified, pinned copy of vim-plug with its MIT license; basic mode never loads it.
  • Detect optional tools through PATH and skip unsupported features. LSP and Python snippets remain opt-in; Neovim 0.11+ uses its built-in LSP client.
  • Keep startup offline. Full installation verifies plugin commits before replacing configuration links, supports changed pins and offline repeats, and backs up existing Vim and Neovim configuration with rollback on link failures.
  • Document installation and maintenance, add :DotvimHealth, and add a Linux/macOS compatibility workflow.

Validation

  • Run 27 tests per editor on Linux: Vim 7.4, Vim 9.1, Neovim 0.9.5, Neovim 0.11.5, and Neovim 0.12.6. All applicable tests pass; the LSP handshake test is skipped on Vim 7.4 and Neovim 0.9.5.
  • Cover missing tools/plugins/manager, startup without downloads, configuration reloads, paths with spaces and quotes, LSP initialization, pinned installation and upgrades, offline repeats, backups, idempotence, and rollback.
  • Pass sh -n, ShellCheck, actionlint, and git diff --check.
  • macOS jobs are included in the new CI workflow; local validation was performed on Linux.

Usage and migration

The default profile is basic, which needs no additional editor runtime dependencies. Use sh bootstrap.sh --full to install the pinned plugins with Git and either Vim or Neovim, then restart the editor. :DotvimHealth explains enabled and skipped features.

The old bundle/ layout is no longer loaded. Existing configuration entries are saved under ~/.dotvim-backups/; check for local plugin changes before archiving leftover plugin directories.

@everbird
everbird merged commit 1690c48 into master Oct 20, 2026
8 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant