4. Auto-Completamento delle parole

Considerate il codice seguente

Figura 9. Esempio di auto-completamento

La funzione A_Very_Long_Function_Name() può essere abbastanza esasperante se digitata molte volte. Mentre siete ancora in modalità inserimento, potete autocompletare le parole cercando all'indietro o in avanti. Nella funzione Another_Function() si può digitare A_Very... e premere CTRL-P. La prima parola simile che viene trovata verrà mostrata. In questo caso sarà A_Very_Long_Variable_Name. Per completarla correttamente, si preme CTRL-P ancora e la ricerca continua fino alla parola seguente, che è A_Very_Long_Function_Name. Appena la parola corretta viene trovata potrete continuare a scrivere. VIM rimane in modalità inserimento durante l'intero processo.

Simile alla combinazione CTRL-P è quella CTRL-N. Questa effettua una ricerca in avanti invece che all'indietro. Entrambe le combinazioni continuano la ricerca finché arrivano alla fine o all'inizio.

Sia CTRL-P che CTRL-N sono parte di una modalità conosciuta come modalità CTRL-X. La modalità CTRL-X è una sotto-modalità di quella inserimento. Dunque potete entrare in questa modalità mentre vi trovate in inserimento. Per lasciare CTRL-X basta premere una qualsiasi chiave differente da CTRL-X, CTRL-P e CTRL-N. Una volta lasciata la modalità CTRL-X ritornerete in modalità inserimento.

La modalità CTRL-X vi permette di effettuare l'autocompletamento in molti modi differenti. Con uno potete perfino autocompletare i nomi di file. Questo è particolarmente utile quando dovete includere dei file header. Usando la modalità CTRL-X potete includere un file foo.h usando il seguente meccanismo.

	 #include "f CTRL-X CTRL-F"
      

Questo è CTRL-X CTRL-F. Lo so... lo so... sembra emacs ;-). Ci sono altre cose che potete fare in modalità CTRL-X. Una di queste è il completamento da dizionario. Il completamento da dizionario vi permette di specificare un file contenente una lista di parole che verranno usate per il completamento. L'opzione dizionario non è attiva in maniera predefinita. Questa opzione viene attivata dal comando :set dictionary=file. In genere si possono inserire nel dizionario parole chiave del C, typedef e #define. I programmatori C++ e Java saranno interessati anche ad aggiungere nomi di classi.

Il formato del file dizionario è semplice. Basta mettete ogni parola su una riga a sé. Dunque un file dizionario per il C apparirà simile a questo.

Figura 10. Un file dizionario d'esempio

Per usare il completamento da dizionario avete bisogno di premere CTRL-X CTRL-K. Il completamento è simile a quello delle combinazioni CTRL-P e CTRL-N. Dunque... per scrivere "typedef" tutto quello che dovete fare è t CTRL-X CTRL-K e puf... il nome verrà completato.