Vim 7 includes integrated
tabbed windows, undo branches,
extended VimL (Vim's scripting language) to include arrays and dictionaries
(named arrays), language based completion, and many other major and minor
The code on this page is distributed under the Vim license, unless otherwise
noted. See ":help license".
Most of the stuff here requires Vim 7.0 or greater. Some of these scripts
are also available on www.vim.org.
You may contact me with questions or problems with any of these scripts by
using the address at the bottom of this page, or you may use my
The <runtimepath> notation below indicates "~/.vim/" for Unix and
"$HOME/vimfiles/" for windows, and "vimrc" indicates "~/.vimrc" for Unix and
"$HOME/_vimrc" for Windows. See
":help 'runtimepath'" and
BufClose.vim( Last modified: Jun 23, 2009 - 08:00:04 AM ) A command and function to close a buffer in a window without closing the window, resulting in the window being open to a blank buffer.
BufOnly.vim( Last modified: Jun 23, 2009 - 08:00:08 AM ) A command and function to delete all the buffers except the current/named buffer.
CharSort.vim( Last modified: Jun 23, 2009 - 08:07:35 AM ) Function and mappings to a sort string of characters.
ConvertBase.vim( Last modified: Jun 25, 1999 - 10:00:16 PM ) A set of functions to convert numerical bases. (Includes CovertToBase(), ConvertFromBase() and ConvertBases().)
CreateMenuPath.vim( Last modified: Jun 23, 2009 - 08:00:24 AM ) A function that creates a menu that mirrors a directory tree.
GreedyBackspace.vim( Last modified: Jun 23, 2009 - 08:00:44 AM ) This script will cause your backspace key to delete all the whitespace characters before the cursor when the cursor is on a whitespace character.
HTML/XHTML Editing( Last modified: Nov 26, 2012 - 12:09:37 AM ) This is a set of HTML/XHTML mappings and menus for Vim 7 or later.
html.vim( Last modified: Oct 13, 2011 - 01:38:59 PM ) For Vim 7.3. Extends the HTML syntax highlighting to enable concealing of bold, italic, and underline tags, and enable displaying of many HTML character entities as their actual character counterpart. Plase this in <runtimepath>/after/syntax/.
mush.vim (syntax folding) ( Last modified: Aug 26, 2010 - 05:13:52 PM ) Syntax based folding for MUSH/MUX code. It includes other syntax additions to work with my mushpp script (see Perl section). Place this in <runtimepath>/after/syntax/ and put ":let mush_fold = 1" in your vimrc.
rcs.vim( Last modified: Oct 26, 2010 - 12:40:34 PM ) Autocmds and menus for RCS files. Place this in <runtimepath>/plugin/. It asks you whether to check out a file if it's readonly and controlled by RCS, then lets you check it back in with a log message when you're done.
Rename.vim( Last modified: Aug 22, 2011 - 07:21:56 PM ) A command and function that basically does a ":saveas <newfile>" then removes the old filename on the disk.
RemoveFile.vim( Last modified: Dec 01, 2011 - 04:33:30 PM ) A command and function that removes a file from the disk.
slrnsc.vim (indent) ( Last modified: Jul 29, 2010 - 11:36:07 AM ) An auto-indent file for the slrn score files. Place this in <runtimepath>/indent/.
slrnsc.vim (syntax folding) ( Last modified: Jun 23, 2009 - 08:06:59 AM ) Syntax based folding for slrn score files. Place this in <runtimepath>/after/syntax/ and put ":let slrn_fold = 1" in your vimrc.
SmartX.vim( Last modified: Jun 23, 2009 - 08:01:14 AM ) Smart deletion of \X escapes with the x/X/Backspace/Delete keys.
Tabmerge.vim( Last modified: Jun 23, 2009 - 08:01:21 AM ) Merge a tab's windows with the current tab.
tf.vim (indent) ( Last modified: May 16, 2010 - 04:05:53 PM ) An auto-indent file for the TinyFugue internal scripting language. Place this in <runtimepath>/indent/. 
tf.vim (syntax folding) ( Last modified: Jun 23, 2009 - 08:07:09 AM ) Syntax based folding for the TinyFugue internal scripting language. Place this in <runtimepath>/after/syntax/ and put ":let tf_fold = 1" in your vimrc. If you want to fold commented blocks of code, put ":let tf_fold_comments = 1" in your vimrc as well.