Una raccolta selezionata di costrutti pratici e snippet Vimscript per lo sviluppo di plugin e la personalizzazione di vimrc.
Mappature Tasti e Comandi
" Associare comando utente personalizzato a funzione locale dello script
command! YoFunctionHere call s:YoFunctionHere()
" Mappare tasto in modalità normale in modo silente
nnoremap <silent> x :call <SID>FunctionHere()<CR>
function! s:FunctionHere()
" Implementazione
endfunction
Chiamare Funzioni in Modalità Inserimento
" Usa registro di espressione (=) per inserire risultato
inoremap X <C-R>=script#myfunction()<CR>
inoremap <F2> <C-R>=MyVimFunc()?'':''<CR>
Verificare Disponibilità dei Plugin
if globpath(&rtp, "plugin/commentary.vim") != ""
" Il plugin Commentary è installato
endif
Caricamento Automatico (Autoloading)
" autoload/hello.vim
if exists("g:hello_loaded") | finish | endif
let g:hello_loaded = 1
function! hello#method()
echo "Ciao da una funzione caricata automaticamente!"
endfunction
Chiamare hello#method() esegue automaticamente il sourcing di autoload/hello.vim on-demand.
Varie
Controlli di Versione
if v:version < 704
echom "Questo plugin richiede Vim >= 7.4"
finish
endif