O colecție de tipare și fragmente utile de Vimscript pentru dezvoltarea de pluginuri și personalizarea vimrc.
Mapări de Taste și Comenzi
" Leagă o comandă personalizată de o funcție locală a scriptului
command! YoFunctionHere call s:YoFunctionHere()
" Mapează o tastă în mod silențios în modul normal
nnoremap <silent> x :call <SID>FunctionHere()<CR>
function! s:FunctionHere()
" Implementare
endfunction
Apelarea Funcțiilor în Modul Inserare
" Folosește registrul de expresie (=) pentru a insera rezultatul
inoremap X <C-R>=script#myfunction()<CR>
inoremap <F2> <C-R>=MyVimFunc()?'':''<CR>
Verificarea Disponibilității Pluginurilor
if globpath(&rtp, "plugin/commentary.vim") != ""
" Pluginul Commentary este instalat
endif
Încărcare Automată (Autoloading)
" autoload/hello.vim
if exists("g:hello_loaded") | finish | endif
let g:hello_loaded = 1
function! hello#method()
echo "Salut dintr-o funcție încărcată automat!"
endfunction
Apelarea hello#method() încarcă automat autoload/hello.vim la cerere.
Diverse
Verificări de Versiune
if v:version < 704
echom "Acest plugin necesită Vim >= 7.4"
finish
endif