Vimscript is a mechanism for reshaping and extending the Vim editor. Scripting allows you to create new tools, simplify common tasks, and even redesign and replace existing editor features. This article introduces the fundamental components of the Vimscript programming language: values, variables, expressions, statements, functions, and commands. These features are demonstrated and explained through a series of simple examples.
At first I thought VIM got a some sort of Virtual Machine that allow itself to be scripted, but I thought again just to find a typo. (Vmscript -> Vimscript)
lisp did that. Anyway, for my taste LUA would be a better choice.