Posso aggiungere una serie di parole al vocabolario del completamento automatico di Vim?


13

In Vim, sono a conoscenza dell'uso di CTRL-n e CTRL-p per completare automaticamente le parole trovate nel documento. Questo è ottimo per promuovere l'uso di metodi descrittivi e nomi di variabili.

Vorrei aggiungere una serie di parole per il completamento automatico che ho spesso ma che non sono nel file di origine che sto attualmente modificando. La mia attuale soluzione è semplicemente aggiungere l'elenco di parole a un commento in fondo al mio file modello, ma questo sembra un po 'dispendioso e kludgey al massimo.

C'è un modo per aggiungere parole al vocabolario del completamento automatico di Vim che sarebbe accessibile a ogni sessione di Vim?

Risposte:


10

Puoi usare le abbreviazioni nel tuo ~/.vimrcfile solo per un paio di parole:

: abbr supe superuser
: abbr autoc completamento automatico
: abbr que domanda

Questi si completeranno automaticamente dopo aver premuto Spaceo Enter. Quindi, se hai digitato, hai quepremuto Spaceo Enterfinirebbe la parola "domanda" per te.

Se stai aggiungendo molto e desideri questa interfaccia:

testo alternativo

Puoi usare i dizionari . Basta impostare un file con una parola su ogni riga, quindi nel tuo .vimrc aggiungi una riga come questa:

set dictionary+=/home/john/dict.txt

Sostituisci il percorso con la posizione del file del dizionario. È quindi possibile utilizzare Ctrl+ xe Ctrl+ kper visualizzare i suggerimenti. Ctrl+ ne Ctrl+ pper selezionare il successivo / precedente tra più selezioni.


1
fantastico! userò i dizionari!
madh

Questo ha funzionato! Non ho quel menu carino però. Sto usando VIM 6.3.82, che non è l'ultima versione.
madh

Ah ... l'aggiornamento aiuta? È necessario premere la sequenza Ctrl-x, Ctrl-k per visualizzare il menu. Sono contento di aiutare però :)
John T

Questo è il modo giusto.
a.

Ho appena verificato che funzioni in VIM 7.2. Grazie ancora!
madh

2

I "sorgenti" per il completamento automatico normale (quello che ottieni da Ctrl+ N) sono presi completedall'opzione (vedi :h 'complete') L'impostazione predefinita è

complete=.,w,b,u,t

che significa

  1. . scansiona il buffer corrente
  2. w scansiona i buffer da altre finestre
  3. b scansiona altri buffer caricati che si trovano nell'elenco dei buffer
  4. u scansiona i buffer non caricati che si trovano nell'elenco dei buffer
  5. t completamento tag

puoi aggiungere il tuo dizionario con

set complete+=k~/.vim/keywords.txt

e aggiungi le parole chiave una per riga ~/.vim/keywords.txt. In questo modo puoi accedere ai completamenti direttamente con Ctrl+ N(non è necessario richiamare esplicitamente il completamento del dizionario con Ctrl+ X, Ctrl+ K). Ho trovato che ciò è particolarmente utile per i completamenti di codice in cui ho tutti i nomi delle funzioni usate più comunikeywords.txt

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.