VimL, or VimScript, is the scripting language used to program (and configure) the Vim editor.
Both Vim plugins (scripts) and the Vim configuration-files (such as .vimrc
) are written in VimL.
VimL, as a programming language, is a imperative language with support for (as of version 7) a simplified form of object-oriented programming. Scripts written in VimL can both invoke ‘normal-mode’ commands, as well as calling more complex ex
commands or more complicated functions combining such functionality.
Vim can also be scripted with other programming languages (depending on which compile-time features a particular user has selected); but the vast majority of popular extensions and plugins are written in VimL.
VimL files are plain-text, and use .vim
as a file-extension.
Vimscript : Offers most of the usual language features: variables, expressions, control structures, built-in functions, user-defined functions, first-class strings, high-level data structures (lists and dictionaries), terminal and file I/O, regex pattern matching, exceptions, and an integrated debugger.
Several, popular, tutorials, are available, although a comprehensive, centralized documentation exists only in the form of the Vim user-manual itself.
Note: There is some confusion about the official name of this language. ‘VimL’, while currently a little less common, is chosen as the name on sites like GitHub and Stack Overflow, as it is less ambiguous to search for.