Skip to navigation
Logo Penaz's Area

cat /dev/random > penaz

Impariamo VIM: Omnicomplete


Impariamo come attivare ed usare la funzione "Omnicomplete" di VIM e rendiamola più semplice da usare.

Buongiorno a tutti, se siete programmatori, sicuramente avete sentito parlare della funzione "IntelliSense®" di VisualStudio, VIM ha una funzione simile. Si chiama omnicomplete ed è divenuta "stabile" da vim 7.3.

Per attivare la funzione di omnicomplete è sufficiente inserire la seguente riga nel nostro .vimrc:

filetype plugin on set omnifunc=syntaxcomplete#Complete

Dopodichè per attivare il menu di autocompletamento è sufficiente premere in successione le combinazioni CTRL-X e CTRL-O.

La funzione di completamento che vi ho proposto qui si basa sull'evidenziazione della sintassi di VIM, anche se per alcuni linguaggi esistono funzioni migliori, ma questa farà al caso nostro...

Consiglio inoltre di aggiungere la seguente riga:

set completeopt+=longest

che ci permetterà di prendere in considerazione il prefisso comune più lungo, rendendo meno tediosa la ricerca di una corrispondenza.

Dover premere due combinazioni di pulsanti è abbastanza fastidioso, quindi useremo uno dei tanti plugins di VIM: SuperTab.

Per installarlo in gentoo è sufficiente, come sempre, usare emerge:

emerge SuperTab

Ora è sufficiente aggiungere un'altra riga al nostro carissimo .vimrc:

let g:SuperTabDefaultCompletionType=" "

Ora sarà sufficiente usare il tasto Tab per aprire il menu di omnicomplete.

Quindi per riassumere, per usare omnicomplete e SuperTab dovremmo aggiungere al nostro .vimrc:

filetype plugin on set omnifunc=syntaxcomplete#Complete let g:SuperTabDefaultCompletionType=" " set completeopt+=longest

SuperTab non è compatibile con un altro plugin di VIM: SnipMate, quindi potreste avere dei problemi.

Questo è quanto, buon omnicompletamento!

Penaz.