Ich verbessere meine Vim-Fähigkeiten und fummle mit dem Befehl Strg-n an der Fertigstellung herum. Ich programmiere in Perl. Wenn ich mich im Einfügemodus befinde und Strg-n drücke, wird unten im Terminal die Meldung "Eingeschlossene Datei wird gescannt" angezeigt, und es sieht so aus, als würden Dateien in den Perl-Distributionsverzeichnissen gescannt. Dies kann einige Sekunden dauern, bis der Vorgang abgeschlossen ist. Es sieht so aus, als würde dies mit Paketen geschehen, die ich einbinde und die auskommentiert sind:
#use Moose;
Ich muss also diese Zeilen löschen, damit dieses Feature einen Wert hat. Vermisse ich etwas?
Ich benutze das Perl-Support-Plugin.
autocompletion
StevieD
quelle
quelle
let g:ctrlp_custom_ignore = { 'dir': '^/usr/' } let g:ctrln_custom_ignore = { 'dir': '^/usr/' }
Antworten:
Wenn Sie auf
C-n
oderC-p
klicken, durchsucht Vim standardmäßig verschiedene Quellen nach Kandidaten, die das Abschlussmenü füllen.Diese Quellen können mit der
'complete'
Option buffer-local konfiguriert werden .Der Wert dieser Option ist eine durch Kommas getrennte Liste von Flags. Jede Flagge hat ihre eigene Bedeutung, beschrieben in
:h 'cpt
:Der Standardwert ist
.,w,b,u,t,i
, was bedeutet:Wenn Sie feststellen, dass das Durchsuchen der enthaltenen Dateien zu lange dauert, können Sie versuchen, das
i
Flag aus der'cpt'
Option zu entfernen .Wenn Sie es aus dem globalen Wert entfernen möchten, um standardmäßig alle Puffer zu beeinflussen, geben Sie Folgendes ein
vimrc
:Wenn Sie dasselbe tun
perl
möchten , aber nur für Dateien, können Sie eine autocmd in Ihrem System installierenvimrc
:Oder besser, Sie könnten ein Dateityp-Plugin erstellen
~/.vim/after/ftplugin/perl.vim
, in das Sie einfach schreiben würden:Mit den folgenden
'complete'
Befehlen können Sie überprüfen, welche globalen und lokalen Werte Ihrer Option aktuell sind und wo sie zuletzt festgelegt wurden:Oder kürzer:
Wenn die einzige Quelle, an der Sie interessiert sind, der aktuelle Puffer ist, können Sie stattdessen
C-n
verwendenC-x C-n
. Siehe:h i_^x^n
für weitere Informationen.quelle
'complete'
"enthaltene Dateien" verwiesen , es wird jedoch nicht auf weitere Details verwiesen, was dies bedeutet. Also lies:he include-search
. Dort können Sie sehen, dass die'include'
Option definiert, was das bedeutet, und'path'
für die Suche verwendet wird. Diese sind nützlich, um eine feinere Anpassung vorzunehmen, als nur die gesamte Funktion ein- oder auszuschalten.