Vimscript library of common functions.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This is a mirror of

This library contains common autoload functions that are used by almost all of
my plugins ( Instead of
duplicating the functionality, or installing potentially conflicting versions
with each plugin, this one core dependency fosters a lean Vim runtime and
easier plugin updates.

Other authors have published separate support libraries, too:

- genutils (vimscript #197) by Hari Krishna Dara
- lh-vim-lib (vimscript #214) by Luc Hermitte
- cecutil (vimscript #1066) by DrChip
- tlib (vimscript #1863) by Thomas Link
- TOVL (vimscript #1963) by Marc Weber
- l9 (vimscript #3252) by Takeshi Nishida
- anwolib (vimscript #3800) by Andy Wokula
- vim-misc (vimscript #4597) by Peter Odding
- maktaba ( by Google
- vital ( by the Japanese Vim user group
- underscore.vim (vimscript #5149) by haya14busa provides functional
  programming functions and depends on the (rather complex) vital library

There have been initiatives to gather and consolidate useful functions into a
"standard Vim library", but these efforts have mostly fizzled out.

This library is mainly intended to be used by my own plugins. However, I try
to maintain backwards compatibility as much as possible. Feel free to use the
library for your own plugins and customizations, too. I'd also like to hear
from you if you have additions or comments.

For exceptional conditions (e.g. cannot locate window that should be there)
and programming errors (e.g. passing a wrong variable type to a library
function), error strings are |:throw|n. These are prefixed with (something
resembling) the short function name, so that it's possible to :catch these
and e.g. convert them into a proper error (e.g. via