For several years working with Vim. The exVim team get a good taste in choosing vim-plugins. We carefully select the plugins we need from Vim community. We also develop our own plugin in demand, and for those plugins that stop maintaining by the author, we fork them into our organization and modify it to fit for exVim.
This article will show you the plugins currently used by default in exVim. I also recommend you read Select a plugin in the vim community, which will teach you how to search a plugin in the Vim world.
Vundle needs you specified your plugin address in .vimrc
, and install it by command
:PluginInstall
. After running the command, vundle will check the plugin and use git
download the latest version. You also can download the plugin manually without running
:PluginInstall
command, in this way, it make you manage the plugin like pathogen.
Pathogen starts earlier than Vundle, and it is also great in manage your plugins. Pathogen
needs you manually download your plugins to the dest path, and once you done, you just need
one single line script in your .vimrc
to make it load the plugins.
I didn't use NeoBundle so no comment for it.
Vimball is the most old plugin manager in Vim. It is not that great as the one I shows above.
I just want to introduce here so that new people from Vim not get confused with this plugins
and its file formation *.vba
.
My Choice
Both Vundle and Pathogen do a great job. For Vundle, you need to write more script in your
.vimrc
to specified the plugins you wish to install, but Vundle will take care of all
the rest things. For Pathogen, you just need one line in .vimrc
but you have to manually
run git or zip file for each plugin. I choose Vundle by default in exVim but also provide
pathogen support.
There is also some articles discuss this:
Both of them make your Vim's status bar beautiful. Powerline needs python to make it run in Vim, instead vim-airline is pure vim script.
MiniBufExpl is an old plugin for shows the opened buffer like tab in other editor. It stops developing for many years. The one I list is a forked version maintained by Techlive Zheng. He fixes some bugs in MiniBufExpl and make it better.
My Choice
Since vim-airline written in pure vim script, it wins the battle in exVim plugins.
I only use ctrlp and it works great, so my choice is just ctrlp. unite looks great, and the author emphase that it is not a copy of ctrlp, it has other features.
vim-fugitive is a great plugin to work with git. It use command to help you finish git commit, diff and other task in Vim seamless.
vim-gitgutter diffs your current editing with your git files and show the differents in realtime
in Vim. I do like the idea but I seldom do that, I ues :Gdiff
in vim-fugitive instead. Besides
realtime update may cause some lag, so I make this an option for user.
vim-gist is a plugin to upload your code or block to Gist.
Both plugin do the job to visual the Vim's undos in the window.
My Choice
undotree do this better, it updates the undo nodes in the realtime when you edit file. It also better in the code structure and less bug.
NERDTree is a real file browser in Vim. It browse files and folders just like a native file browser. It also provide pattern to config files you don't like to show in the project.
ex-project is a plugin foucsed on only exVim's project file. It read the file and folder
filter settings from .exvim
, and create the project tree after that.
My Choice
Both of them can work together in exVim. I use NERDTree for editing files that not in project. But for project files, ex-project do it better. ex-project can create new files, folders directly in the plugin window, and gives you the way to filter out folders you wish to ignore.
TODO
NERDCommenter don't need filetype for commenting, which is better.
neocomplete is a new version of neocomplcache. But it needs your Vim build with +lua option.
It provide faster complete function, however since it is not pure in Vim, most people still
choose neocomplcache.
YouCompleteMe looks great, and it saids it is the fastest complete engine in Vim. But it is not pure in Vim.
vim-autocomplpop aka acp is an old plugin in Vim world. It is a pitty the author didn't put the plugin in Git. So I made this fork version
My Choice
I found neocomplcache in some case become much slow, that's why I still using vim-autocomplpop.
Havn't test them, no comment
There some great repository provide their snippets
Syntasic is a really good plugin who will use your language lint programme to check your code.
AutoFenc has many ways to config and detect encoding from file.
FencView mainly supports detection of encodings for asian languages.
vim-easymotion is a powerful plugin enhance the use of Vim's b
,f
,e
,t
,... cursor moving
commands.
vim-surround helps you easily add (
,{
,[
,"
,'
,... signs.
tabular is a plugin help you align several text by signs such as =
,,
,... Very useful when
you writing json file or serveral variables in the code.
showmarks helps you showing the marks in your Vim.
visincr helps fill the number in order. very useful when editing code.
matchit enhance the Vim's %
behaviour.
LargeFile allow you use simple rules opening large vim file
emmet-vim gives the power of editing html.
vim-indent-guides can shows indents for your file. I only use this when editing html, so I recommend it here.
vim-javascript includes the indent, syntax highlight for editing JavaScript.
vim-jsbeautify includes html, css, javascript indent and syntax highlight. I didn't use it so no comment for this.
vim-coffee-script includes the indent, syntax highlight for editing CoffeeScript.
vim-json provides indent, syntax highlight for editing JSON file.
Both are good in providing markdown syntax highlight, indent and file detection.
My Choice
I use plasticboy's vim-markdown. No reason, just the github stars.
vim-less provides syntax highlight for LESS.
vim-css-color will highlight your css color property as the color you filled. But it is slow when editing large css file
Nothing but quickly get manual for C functions.