Czy mogę dodać zestaw słów do słownika autouzupełniania Vima?

11

W Vimie jestem świadomy używania CTRL-n i CTRL-p do autouzupełniania słów znalezionych w dokumencie. Jest to świetne do promowania stosowania metod opisowych i nazw zmiennych.

Chciałbym dodać zestaw słów do autouzupełniania, które często, ale nie znajdują się w pliku źródłowym, który aktualnie edytuję. Moje obecne rozwiązanie polega na dodaniu listy słów do komentarza na dole mojego pliku szablonu, ale wydaje mi się to trochę marnotrawstwem i kludgey w najlepszym wypadku.

Czy istnieje sposób na dodanie słów do autouzupełniania słownictwa Vima, które byłyby dostępne dla każdej sesji Vima?

madh
źródło

Odpowiedzi:

10

Możesz użyć skrótów w swoim ~/.vimrcpliku dla zaledwie kilku słów:

: abbr supeuser superuser
: abbr autoc autouzupełnianie
: pytanie abbr que

Zostaną one automatycznie uzupełnione po naciśnięciu Spacelub Enter. Więc jeśli wpiszesz, quea następnie naciśniesz, w Spaceprzeciwnym Enterrazie słowo „pytanie” zostanie dla ciebie zakończone.

Jeśli dodajesz dużo i chcesz ten interfejs:

alternatywny tekst

Możesz korzystać ze słowników . Po prostu skonfiguruj plik ze słowem w każdej linii, a następnie w .vimrc dodaj taką linię:

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

Zamień ścieżkę na lokalizację pliku słownika. Następnie możesz użyć Ctrl+ xi Ctrl+, kaby wyświetlić sugestie. Ctrl+ ni Ctrl+, paby wybrać następny / poprzedni z wielu wyborów.

John T.
źródło
1
fantastyczny! zamierzam korzystać ze słowników!
madh
To zadziałało! Nie dostaję jednak tak ładnie wyglądającego menu. Używam VIM 6.3.82, który nie jest najnowszą wersją.
madh
Ach ... czy aktualizacja pomaga? Musisz nacisnąć sekwencję Ctrl-x, Ctrl-k, aby wyświetlić menu. Z przyjemnością pomogę :)
John T
To jest właściwy sposób.
o.
Właśnie sprawdziłem, czy to działa w VIM 7.2. Dzięki jeszcze raz!
madh
2

„Źródła” do zwykłego autouzupełniania (otrzymanego z Ctrl+ N) pochodzą z completeopcji (patrz :h 'complete') Domyślnie jest

complete=.,w,b,u,t

co znaczy

  1. . skanuj bieżący bufor
  2. w skanuj bufory z innych okien
  3. b skanuj inne załadowane bufory znajdujące się na liście buforów
  4. u skanuj rozładowane bufory znajdujące się na liście buforów
  5. t zakończenie tagu

możesz dodać własny słownik za pomocą

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

i dodaj słowa kluczowe po jednym w wierszu ~/.vim/keywords.txt. W ten sposób możesz uzyskać dostęp do uzupełnień bezpośrednio za pomocą Ctrl+ N(nie trzeba jawnie wywoływać uzupełniania słownika za pomocą Ctrl+ X, Ctrl+ K). Uważam, że jest to szczególnie przydatne do uzupełniania kodu, w którym mam wszystkie często używane nazwy funkcjikeywords.txt

ecerulm
źródło