Odświeżam swoje umiejętności vima i bawię się ukończeniem za pomocą polecenia Ctrl-n. Programuję w Perlu. Kiedy jestem w trybie wstawiania i wciskam Ctrl-n, na dole terminala pojawia się komunikat „Skanowanie dołączonego pliku” i wygląda na to, że skanuje pliki w katalogach dystrybucyjnych Perla. Może to potrwać kilka sekund, zanim się skończy. Wygląda na to, że robi to z pakietami, które dołączam, które są komentowane:
#use Moose;
Więc muszę usunąć te wiersze, aby ta funkcja miała jakąkolwiek wartość. Czy coś brakuje?
Korzystam z wtyczki obsługującej perl.
autocompletion
StevieD
źródło
źródło
let g:ctrlp_custom_ignore = { 'dir': '^/usr/' } let g:ctrln_custom_ignore = { 'dir': '^/usr/' }
Odpowiedzi:
Domyślnie, kiedy naciskasz
C-n
lubC-p
, Vim przegląda różne źródła w poszukiwaniu kandydatów, którzy wypełnią menu ukończenia.Te źródła można skonfigurować za pomocą opcji bufora lokalnego
'complete'
.Wartością tej opcji jest rozdzielona przecinkami lista flag. Każda flaga ma swoje własne znaczenie opisane w
:h 'cpt
:Domyślnie jego wartością jest
.,w,b,u,t,i
, co oznacza:Jeśli okaże się, że skanowanie dołączonych plików zajmuje zbyt dużo czasu, możesz spróbować usunąć
i
flagę z'cpt'
opcji.Jeśli chcesz usunąć go z wartości globalnej, aby domyślnie wpływać na wszystkie bufory, napisz
vimrc
:Jeśli chcesz zrobić to samo, ale tylko dla
perl
plików, możesz zainstalować autocmd wewnątrzvimrc
:Lub lepiej, możesz utworzyć wtyczkę typu pliku, na przykład w
~/.vim/after/ftplugin/perl.vim
, w której po prostu napiszesz:Aby sprawdzić, jakie są bieżące globalne i lokalne wartości twojej
'complete'
opcji oraz gdzie były ostatnio ustawione, możesz użyć tych poleceń:Lub krócej:
Jeśli jedynym źródłem, które Cię interesuje, jest bieżący bufor, zamiast tego
C-n
możesz użyćC-x C-n
. Zobacz:h i_^x^n
więcej informacji.źródło
'complete'
wspominają o „dołączonych plikach”, ale nie zawierają linków do bardziej szczegółowych informacji o tym, co to oznacza. Więc czytaj:he include-search
. Tam możesz zobaczyć, że'include'
opcja określa, co to znaczy, i'path'
jest używana do wyszukiwania. Są one przydatne do dokładniejszego dostosowywania niż tylko włączanie / wyłączanie całej funkcji.