git clone https://github.com/alberanid/vim-config.git ~/.vim
ln -s ~/.vim/vimrc ~/.vimrc
cd ~/.vim
git submodule update --init --recursive
cd bundle/YouCompleteMe
./install.py --clang-completer --go-completer --js-completer --java-completer
- cmake to install YouCompleteMe
- exuberant-ctags for the tagbar
- flake8 and pylint for Python linting
- eslint for JavaScript linting (must be configured with eslint --init)
- Go if you plan to use --go-completer with YouCompleteMe
- Node.js and npm if you plan to use --js-completer with YouCompleteMe
- JDK 8 if you plan to use --java-completer with YouCompleteMe
- ripgrep for the configured grep workflow (used by g and G)
For best colors in modern terminals, enable true color in your terminal profile and use a 24-bit capable theme.
git submodule foreach 'git pull origin master || git pull origin main'
cd bundle/YouCompleteMe
./install.py --clang-completer --go-completer --js-completer --java-completer
git submodule add git://example.com/git/plugin-name.git bundle/plugin-name
git submodule update --init --recursive
git submodule deinit bundle/plugin-name
git rm bundle/plugin-name
Don't forget some VIM basics:
- Leader char is backslash (\), by default
- :e filename edit filename in a new buffer
- :sp for horizontal split
- :vsp for vertical split
- ctrl+w and movements to navigate splits
- ctrl+w and q to close a split
- bX (where X is the buffer number in the topbar) to change buffer
- :bd to close a buffer
- register "* to copy/paste to/from the primary selection (e.g. "*p - to use this and "+ you must have a version of Vim compiled with clipboard support: install vim-gtk or vim-gnome)
- register "+ to copy/paste to/from the system clipboard (e.g. "+p)
- ctrl+x ctrl+k complete using dictionaries
And some toggles:
- F2 show Vim registers
- F4 NERDTree
- F5 spell checker
- F8 Tagbar
- F9 paste mode
- F10 Undotree
Search and quickfix (ripgrep + built-in :grep):
- \g start a grep command using your configured grepprg (ripgrep)
- \G run grep without jumping to the first hit
- \co open quickfix list
- \cc close quickfix list
Commenting (NERD Commenter) and editing (surround):
- \c toggle comment of current line
- \cs toggle comment using multipart delimeters
- ds) remove () around a string
- cs)] to replace () with [] around a string enclosed by ()
Davide Alberani <da@mimante.net> (C) 2013-2026
Released under the terms of the CC BY-SA license: https://creativecommons.org/licenses/by-sa/4.0/