Fork me on GitHub

Plugins

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.

General

Plugin Management

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:

Status Bar

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.

Quickly Open Files, Buffers and MRU

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.

Git Operation

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.

Undotree Management

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.

File Browser

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.

Tag View For Current File

TODO

Easy Comment

NERDCommenter don't need filetype for commenting, which is better.

Code Complete

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.

Code Snippet

Havn't test them, no comment

There some great repository provide their snippets

Syntax Check

Syntasic is a really good plugin who will use your language lint programme to check your code.

Encoding detection

AutoFenc has many ways to config and detect encoding from file.

FencView mainly supports detection of encodings for asian languages.

Easy text editing

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

Web Developer

HTML

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.

JavaScript, CoffeeScript, ...

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.

JSON

vim-json provides indent, syntax highlight for editing JSON file.

Markdown

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.

CSS

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

C-lang Developer

CRef

Nothing but quickly get manual for C functions.

Lua Developer

Go Developer

Syntax highlight