Vim Tips Wiki

Best plugins

The following scripts were selected as "best" by the #vim community.

The best language-aware tool to switch lines between commented and uncommented.
Edit large files quickly.
Automatically speeds up Vim by switching off features like syntax highlighting when editing a large file.
A tree explorer plugin for navigating the file system.
Can open and bookmark directories or files.
  • Super Tab author Gergely Kontra and Eric Van Dewoestine
Do all your insert-mode completion with the Tab key. :help ins-completion
Easily add, delete or change "surroundings".
Handles parentheses, brackets, quotes, XML tags, and more.
For example, ds( deletes the outer pair of parentheses.
Source code browser using Exuberant Ctags.
Supports C/C++, Java, Perl, Python, tcl, sql, php and more.
Provides an overview of the structure of source code files, and allows you to efficiently browse source code.

Featured scripts

Here are some scripts that may help your life with Vim! There are more at
See talk for recent changes and how scripts should be handled on this wiki.

A plugin that provides word-processor style highlighting to beautify any type of text file.
The highlighting mechanism uses invisible tokens that are inserted into a Txtfmt buffer with easy to use mappings provided by the filetype plugin.
Each token affects either the color or formatting of subsequent text.
Supports 8 configurable colors and all combinations of formatting attributes (bold, underline, italic, standout, reverse, undercurl).
Txtfmt highlighting regions can nest within syntax regions created by other plugins such as TVO (The Vim Outliner).
Use the :TOhtml command that ships with Vim to create an html version of the txtfmt buffer.
Nearly everything is configurable, with defaults to work "right out of the box".
Complete documentation is in an extensive Vim help file.
A batch file using Vim to implement the less utility for Windows users.
Makes Vim a rewindable, syntax-highlighting, searchable pager.
Based upon from the macros directory of the Vim distribution.
Uses macros/less.vim in the 'runtimepath'.
Works with pipes as well as file names.
A stand-alone command-line Twitter status update client in Python.
Requires only a recent version of Python.
Supports updating your Twitter status in Vim, and at the command line.
Easily tweet from inside Vim by selecting text to send. You can select text and type \twit to have that text appear in your Twitter status, or use :%!twit to send the entire current document to Twitter.
You can set your username and password in the environment so they don't need to be repeatedly entered.
A plugin to automatically complete each word, after typing two or more characters.
Popup menu for word completion also appears when moving the cursor while in insert mode.
Behavior is customizable.
A plugin to generate call-trees for any function or macro in real-time, within Vim.
Functionality is similar to that of packages like KScope or Source-navigator. Requires Cscope.
A Perl package to manage Vim scripts. Supports vimball.
Can search, download and install or upgrade Vim scripts. Requires Perl.
Provides a command-line interface like the aptitude program on Debian Linux.
A Perl package to package Vim scripts for distribution.
Easy install, uninstall and upgrade of Vim scripts. Requires Perl.
Resolves dependencies.

See also