Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

vimrc

My personal Vim setup: .vimrc + plugins via native pack/, all managed by one script.

Install

.vim/init-script/install.sh link       # symlink repo to $HOME (backup existing)
.vim/init-script/install.sh install    # plugins + system deps (default: full profile)

Then open vim. Do the manual steps printed at the end (Tabby setup, LSP servers).

Commands

install.sh <command> [--profile full|minimal] [--dry-run] [--yes]

  link             symlink repo to $HOME (backup existing)
  unlink           remove symlinks, restore .bak
  install          install plugins for the profile + system deps
  update           git pull all installed plugins
  clean            remove plugins not in the manifest
  uninstall [name] remove managed plugins (deps kept)
  list             show plugins and install status
  doctor           check required/optional binaries

No argument: welcome screen (list + usage).

Profiles

  • full: everything (LSP, Tabby, ALE, fzf, git...)
  • minimal: fzf, nerdtree, rooter, fugitive and the small edit plugins (surround, commentary, repeat, unimpaired). For SSH / servers.

Dependencies

install auto-installs system deps (brew on macOS, apt on Ubuntu). The rest is only reported, not installed:

  • node: Tabby agent + typescript LSP
  • Tabby (optional, FOSS AI completion): lazy plugin in pack/completion/opt/, pinned to 1.4.0. To use it:
    • install the server. macOS: brew install tabbyml/tabby/tabby. Linux: see https://tabby.tabbyml.com/docs/installation/
    • add a shell alias, for example in ~/.zshrc: alias tabby-on='tabby serve --model Qwen2.5-Coder-1.5B --device metal' (metal on macOS, cpu or cuda elsewhere)
    • run tabby-on in a terminal, then :TabbyOn in vim (trigger <C-\>, accept <C-l>). Ctrl+C stops the server.
  • LSP servers: installed from Vim with :LspInstallServer (rust: rustup + rust-analyzer)
  • linters/runners: ALE fixers (prettier, eslint) and test runners are per project

Run install.sh doctor to see what is present or missing.

Notes

  • Plugins clone into .vim/pack/ (gitignored, regenerated by install).
  • link symlinks both .vimrc and .vim to the repo, and moves any existing ones to *.bak. Always run install right after link: plugins are gitignored, so they must be (re)cloned into the now-symlinked .vim/pack/. If plugins look missing after link, you forgot install. Your old setup is safe in ~/.vim.bak.
  • bash 3.2 compatible (macOS /bin/bash).
  • Config uses exrc + secure: per-directory .vimrc allowed, unsafe commands blocked.

About

my vim config

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages