Vim dispone de un lenguaje interpretado, o de scripting, para programar nuevas funcionalidades, mediante el que se pueden automatizar operaciones particulares demasiado complejas para realizarlas con una macro.