- Use a plugin manager (my favorite one is vim-plug)
- Vim is not an IDE, just a text editor. Use shell tools and cli applications instead of stuffing everything into Vim (
tmuxcan help with this) - I prefer Neovim over Vim, the community drives new features (which only get accepted in Vim after Neovim has proven people want it, Vim's upstream is a bit stubborn) and some plugins that I use require extra dependencies in Vim but not in Neovim
The following notation maps to GitHub. tpope/vim-surround can be found at https://github.com/tpope/vim-surround
| Plugin | Description |
|---|---|
| tpope/vim-surround | edit/add/remove parentheses, brackets, (html) tags and more |
| tpope/vim-fugitive | Git |
| junegunn/fzf | Fast Fuzzy File Finder (also works outside of vim, e.g. when searching bash history |
| Plugin | Description |
|---|---|
| tpope/vim-commentary | quickly (un)comment parts of code |
| tpope/vim-repeat | enhance repeat (with dot '.'), enabling it for plugins |
| tpope/vim-rhubarb | Add-on for vim-fugitive: Enable GitHub support (e.g. :Gbrowse opens current file on GitHub in the corresponding branch) |
| Shougo/deoplete.nvim | Async (important for performance!) compeletion manager that also supports Language Clients (has two more dependencies for regular Vim) |
| autozimu/LanguageClient-neovim | Support for Language Server <> Client communication (native implementation is WIP for Neovim) |
| Plugin | Description |
|---|---|
| tpope/vim-unimpaired | set of keybindings using [ and ] (e.g. [<SPC> to insert a blank line above, ]<SPC> to insert a blank line below) |
| tpope/vim-rsi | shell keybindings (e.g. C-W for delete-backwards) |
| tpope/vim-rails | Navigate Rails project easier |
| Plugin | Description |
|---|---|
| NerdTREE | The shell has better file manipulation and FZF is better at opening files. Vim is not an IDE |
| powerline (or any other fancy status line) | Waste of resources and overwhelming with information. Built-in statusline can be adapted to fit your needs perfectly |