- Vim 8.2+ or Neovim 0.5+ (recommended)
- Git
- Node.js 14+ (for coc.nvim)
- fzf (for fuzzy finding)
- ripgrep (for fast searching)
Install prerequisites on macOS:
brew install vim node fzf ripgrepTo install, run:
git clone git://github.com/nviennot/vim-config.git ~/.vim
cd ~/.vim
make installThis will:
- Create symlinks for vimrc and gvimrc
- Auto-install vim-plug when you first open Vim
- Install all plugins automatically
When you first open Vim:
- vim-plug will auto-install on first launch
- Plugins will be installed automatically
- If needed, run
:PlugInstallto ensure all plugins are installed - Run
:CocInstall coc-json coc-python coc-tsserver coc-html coc-cssto install language servers
To update the repository and plugins, run:
make update
vim +PlugUpdate +qaThis configuration uses vim-plug for plugin management.
Useful commands:
:PlugInstall- Install plugins:PlugUpdate- Update plugins:PlugClean- Remove unlisted plugins:PlugUpgrade- Upgrade vim-plug itself:PlugStatus- Check plugin status
- coc.nvim - Language Server Protocol (LSP) support with intelligent code completion
- fzf.vim - Fast fuzzy file finder
- ALE - Asynchronous linting and fixing
- vim-airline - Beautiful status line
- vim-gitgutter - Git diff indicators in sign column
- undotree - Visual undo history
- NERDTree - File explorer
- vim-fugitive - Git integration
<Leader>is,,a- Search with ripgrep,.- Fuzzy find files,,- Buffer list<C-p>- Fuzzy find files<C-g>- Toggle NERDTree<S-u>- Toggle undotreegd- Go to definition (LSP)gr- Find references (LSP)K- Show documentation (LSP)<Leader>rn- Rename symbol (LSP)[e/]e- Navigate ALE errors[g/]g- Navigate LSP diagnostics[h/]h- Navigate git hunks
Out-of-the-box support for:
- Python, Ruby, JavaScript, TypeScript
- HTML, CSS, SCSS, Less
- Markdown, JSON, XML
- CoffeeScript, Slim, HAML
- Scala, ARM Assembly
- And more via coc.nvim language servers
vimrc.mine and gvimrc.mine contain system-specific settings or other settings
that should not be part of a general configuration. Thus, they are not tracked
in the repo. Example files are included as vimrc.mine.example and gvimrc.mine.example.
Install additional language servers via coc.nvim:
:CocInstall coc-python coc-json coc-tsserver coc-html coc-css
:CocInstall coc-yaml coc-rust-analyzer coc-goSee available extensions: https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions
- If plugins fail to install, run
:PlugInstallmanually - For coc.nvim issues, check
:CocInfoand:checkhealth(Neovim) - Ensure Node.js 14+ is installed for coc.nvim
- Run
:CocUpdateto update coc.nvim extensions