What are your favorite (G)Vim plugins/scripts?

+24  A: 

Tim Pope has some kickass plugins. I love his surround plugin.

I'm not such a fan of surround, but his older plugin `parenquote.vim` is very nice and (IMO) more easliy customizable.
Ken Bloom
Surround is a great plugin for sure.
Taurus Olson
The link above doesn't list anything called 'surround'. The new link for this seems to be here:http://github.com/tpope
Stefan Lasiewski
@Stefan thanks. fixed.
Link to all his vim contributions: http://www.vim.org/account/profile.php?user_id=9012
Benjamin Oakes
+11  A: 

A very nice grep replacement for GVim is Ack. A search plugin written in Perl that beats Vim's internal grep implementation and externally invoked greps, too. It also by default skips any CVS directories in the project directory, e.g. '.svn'. This blog shows a way to integrate Ack with vim.

+7  A: 

I really like the SuperTab plugin, it allows you to use the tab key to do all your insert completions.

+5  A: 

Not a plugin, but I advise any Mac user to switch to the MacVim distribution which is vastly superior to the official port.

As for plugins, I used VIM-LaTeX for my thesis and was very satisfied with the usability boost. I also like the Taglist plugin which makes use of the ctags library.

Konrad Rudolph
Why the downvotes? Please leave comments, people!
Konrad Rudolph
+2  A: 

I use the following two plugins all the time:

  • project
  • vimoutliner
Peter Stuifzand
vimoutliner is really good for managing small pieces of information (from tasks/todo-s to links)
+10  A: 

I have recently started using a plugin that highlights differences in your buffer from a previous version in your RCS system (Subversion, git, whatever). You just need to press a key to toggle the diff display on/off. You can find it here: http://github.com/ghewgill/vim-scmdiff. Patches welcome!

Greg Hewgill
Do you know if this supports bitkeeper? I looked on the website but couldn't even see whom to ask.
Nathan Fellman
It doesn't explicitly support bitkeeper at the moment, but as long as bitkeeper has a "diff" command that outputs a normal patch file, it should be easy enough to add.
Greg Hewgill
does it support clearcase
Yogesh Arora
@Yogesh: No, it doesn't support ClearCase at this time. However, if you can add ClearCase support, a patch would certainly be accepted.
Greg Hewgill
+34  A: 


The NERD tree allows you to explore your filesystem and to open files and directories. It presents the filesystem to you in the form of a tree which you manipulate with the keyboard and/or mouse. It also allows you to perform simple filesystem operations.

The tree can be toggled easily with :NERDTreeToggle which can be mapped to a more suitable key. The keyboard shortcuts in the NERD tree are also easy and intuitive.

Edit: Added synopsis

For those of us not wanting to follow every link to find out about each plugin, care to furnish us with a brief synopsis?
Woah, that's a great plugin! Thanks!
+3  A: 

I really love the snippetsEmu Plugin. It emulates some of the behaviour of Snippets from the OS X editor TextMate, in particular the variable bouncing and replacement behaviour.

Peter Hoffmann
+1  A: 

Zenburn color scheme and good fonts - Droid Sans Mono on Linux, Consolas on Windows.

+9  A: 

A.vim is a great little plugin. It allows you to quickly switch between header and source files with a single command. The default is :A, but I remapped it to F2 reduce keystrokes.

Dominic Dos Santos
+5  A: 

Tomas Restrapo posted on some great Vim scripts/plugins. He has also pointed out some nice color themes on his blog, too. Check out his Vim category.

David Mohundro
I especially like the camelcasemotion script he links on there.
+8  A: 

Taglist, a source code browser plugin for Vim, is currently the top rated plugin at the Vim website and is my favorite plugin.

+2  A: 

Matrix Mode.


During maintenance of a very big and old C++ project I've created two plugins and these are the only ones I use:

0scan substitute for me taglist, buflist, files explorers, and other things like quick convenience file search.

SourceCodeObedience is very convenient cscope and ctags code surfing with stored history of all your searches with 'Filter' feature.

I use them not because they are mine but because they do the complete job and helps me to maintain of ~1Gb unfamiliar code base.

Mykola Golubyev
+2  A: 

The vcscommand plugin provides global ex commands for manipulating version-controlled source files and it supports CVS,SVN and some other repositories.

You can do almost all repository related tasks from with in vim:
* Taking the diff of current buffer with repository copy
* Adding new files
* Reverting the current buffer to the repository copy by nullifying the local changes....

Naga Kiran

I take buftabs.vim and localvimrc.vim with me whereever I go!

buftabs : Minimalistic buffer tabs saving screen space

Local configuration : Use different settings for different directories.

Another local config plugin: http://www.vim.org/scripts/script.php?script_id=441
Roger Pate
+4  A: 

No one said matchit yet ? Makes HTML / XML soup much nicer http://www.vim.org/scripts/script.php?script_id=39

Greg Bowyer
+2  A: 

For vim I like a little help with completions. Vim has tons of completion modes, but really, I just want vim to complete anything it can, whenver it can.

I hate typing ending quotes, but fortunately this plugin obviates the need for such misery.

Those two are my heavy hitters.

This one may step up to roam my code like an unquiet shade, but I've yet to try it.

+7  A: 

I love snipMate. It's simular to snippetsEmu, but has a much better syntax to read (like Textmate).

+3  A: 
  1. Elegant (mini) buffer explorer - This is the multiple file/buffer manager I use. Takes very little screen space. It looks just like most IDEs where you have a top tab-bar with the files you've opened. I've tested some other similar plugins before, and this is my pick.
  2. TagList - Small file explorer, without the "extra" stuff the other file explorers have. Just lets you browse directories and open files with the "enter" key. Note that this has already been noted by previous commenters to your questions.
  3. SuperTab - Already noted by WMR in this post, looks very promising. It's an auto-completion replacement key for Ctrl-P.
  4. Desert256 color Scheme - Readable, dark one.
  5. Moria color scheme - Another good, dark one. Note that it's gVim only.
  6. Enahcned Python syntax - If you're using Python, this is an enhanced syntax version. Works better than the original. I'm not sure, but this might be already included in the newest version. Nonetheless, it's worth adding to your syntax folder if you need it.
  7. Enhanced JavaScript syntax - Same like the above.

  8. EDIT: Comments - Great little plugin to [un]comment chunks of text. Language recognition included ("#", "/", "/* .. */", etc.) .

Ory Band
+2  A: 

Just gonna name a few I didn't see here, but which I still find extremely helpful:

  • Gist plugin - Github Gists (Kind of Githubs answer to Pastebin, integrated with Git for awesomeness!)
  • Mustang color scheme (Can't link directly due to low reputation, Google it!) - Dark, and beautiful color scheme. Looks really good in the terminal, and even better in gVim! (Due to 256 color support)
+2  A: 

Txtfmt (The Vim Highlighter) Screenshots

The Txtfmt plugin gives you a sort of "rich text" highlighting capability, similar to what is provided by RTF editors and word processors. You can use it to add colors (foreground and background) and formatting attributes (all combinations of bold, underline, italic, etc...) to your plain text documents in Vim.

The advantage of this plugin over something like Latex is that with Txtfmt, your highlighting changes are visible "in real time", and as with a word processor, the highlighting is WYSIWYG. Txtfmt embeds special tokens directly in the file to accomplish the highlighting, so the highlighting is unaffected when you move the file around, even from one computer to another. The special tokens are hidden by the syntax; each appears as a single space. For those who have applied Vince Negri's conceal/ownsyntax patch, the tokens can even be made "zero-width".

Brett Stahlman

Working with Rails I consider this my must have list though many are not Rails specific.


Adam Lowe

neocomplcache, the it behave a few like scribes autocompletion.

+2  A: 

I like taglist and fuzzyfinder, those are very cool plugin

+1 for fuzzy finder
+1  A: 

Try trinity

It has :

1) NerdTree

2) SourceExplorer

3) TagList

Aman Jain
+1  A: 

If you're on a Mac, you got to use peepopen, fuzzyfinder on steroids.



  • It supports Multiple Highliting.


This script is based on the eclipse Task List. It will search the file for FIXME, TODO, and XXX (or a custom list) and put them in a handy list for you to browse which at the same time will update the location in the document so you can see exactly where the tag is located. Something like an interactive 'cw'