One of the things that makes vim great is that it can be extended through plugins. There are plugins for more than you would expect. I have gathered together the 15 best plugins. I’ve included these plugins as part of my ultimate VIM configuration which has been featured on many sites and is hosted on github. I’ve also begun a series of posts on some of these plugins including snipmate and NerdCommenter.

General

Related Posts

Do all your insert-mode completion with Tab.

Visually shows the location of marks.

Marks are useful for jumping back and forth between interesting points in a buffer, but can be hard to keep track of without any way to see where you have placed them. ShowMarks hopefully makes life easier by placing a sign in the leftmost column of the buffer. The sign indicates the label of the mark and its location.

It can be toggled on and off and individual marks can be hidden(effectively removing them).

Provides tab completion while inside the “/” search

Programmer

taglist.vim : Source code browser (supports C/C++, java, perl, python, tcl, sql, php, etc).

Requires the exuberant ctags utility.

Completion for the SQL language includes statements, functions, keywords, operators and database options which it draws from the current SQL syntax file in use. Vim ships with 9 different SQL syntax files (Oracle, Informix, MySQL, SQL Anywhere, …). You can choose different SQL dialects using the command (see :h sql-dialects):

A plugin that allows for easy commenting of code for many (nearly all) filetypes.

VIM 7 plugin useful for manipulating files controlled by CVS, SVN, SVK and git within VIM, including committing changes and performing diffs using the vimdiff system.

All about “surroundings”: parentheses, brackets, quotes, XML tags, and more. The plugin provides mappings to easily delete, change and add such surroundings in pairs.

The matchit.vim script allows you to configure % to match more than just single characters. You can match words and even regular expressions. Also, matching treats strings and comments (as recognized by the syntax highlighting mechanism) intelligently.

Attempts to emulate some of the behaviour of ‘Snippets’ from the OS X editor TextMate, in particular the variable bouncing and replacement behaviour.

Syntax file for Smarty, the template engine for PHP.

Syntax file for PHP.

This script can fold PHP functions and/or classes, properties with their PhpDoc,

without manually adding marker style folds ({{{ and }}}).

Check syntax when saving a file (PHP). Also supports ruby, tex, etc.

Provides really comfortable generation of phpDocumentor doc blocks for PHP

External Resources