Completamento automatico di vim: come impedire a vim di leggere alcuni file di inclusione?


10

Vim ha il pratico tasto Ctrl-N che completa automaticamente la parola sotto il cursore con la parola nel file corrente o in qualsiasi altro file incluso. Se una volta includo la libreria boost, questa funzione diventa assolutamente inutile perché ci vogliono decine di secondi per leggere le inclusioni dell'intero boost e in realtà non voglio completare nulla che sia definito in boost comunque. Quindi, come posso dire a Vim di ignorare la directory / usr / include / boost quando cerco file include? Oh, come posso impostare l'opzione 'include' per ignorare qualsiasi #include <boost /.*>?

vim 

Risposte:


16

L'opzione che stai cercando è 'completa' , ma non definisce la granularità che stai chiedendo. Tutto quello che puoi fare è specificare se scansionare o meno i file inclusi. Per disabilitare la scansione di tutti i file inclusi, è possibile

set complete-=i

Altrimenti, l'impostazione 'include'per ignorare il potenziamento potrebbe essere l'opzione migliore.

set include=^\\s*#\\s*include\ \\(<boost/\\)\\@!

Nota che, come ho già detto nel mio altro commento, non dovresti usare "per specificare l'opzione in quanto si tratta del carattere di commento di Vim. Invece, devi fuggire dagli spazi.


1

Ok, ho trovato la risposta alla seconda parte:

set include="#include \\(<boost\\)\\@!"

In realtà, hai appena annullato l'opzione di inclusione. "è il carattere di commento di Vim, quindi essenzialmente hai eseguito 'set include ='.
jamessan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.