Una colección seleccionada de patrones y fragmentos prácticos de Vimscript para desarrollo de plugins y personalización de vimrc.
Asignaciones de Teclas y Comandos
" Vincular comando de usuario a función local del script
command! YoFunctionHere call s:YoFunctionHere()
" Mapear tecla silenciosamente en modo normal
nnoremap <silent> x :call <SID>FunctionHere()<CR>
function! s:FunctionHere()
" Implementación
endfunction
Llamar Funciones en Modo Inserción
" Usar registro de expresión (=) para insertar resultado
inoremap X <C-R>=script#myfunction()<CR>
inoremap <F2> <C-R>=MyVimFunc()?'':''<CR>
Comprobar Disponibilidad de Plugins
if globpath(&rtp, "plugin/commentary.vim") != ""
" El plugin Commentary está instalado
endif
Carga Automática (Autoloading)
" autoload/hello.vim
if exists("g:hello_loaded") | finish | endif
let g:hello_loaded = 1
function! hello#method()
echo "¡Hola desde una función de carga automática!"
endfunction
Llamar a hello#method() carga y ejecuta automáticamente autoload/hello.vim bajo demanda.
Miscelánea
Comprobaciones de Versión
if v:version < 704
echom "Este plugin requiere Vim >= 7.4"
finish
endif