Wenn Sie auf C-n
oder C-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
:
. scan the current buffer ('wrapscan' is ignored)
w scan buffers from other windows
b scan other loaded buffers that are in the buffer list
u scan the unloaded buffers that are in the buffer list
U scan the buffers that are not in the buffer list
k scan the files given with the 'dictionary' option
kspell use the currently active spell checking |spell|
k{dict} scan the file {dict}. Several "k" flags can be given, patterns are valid too. For example:
:set cpt=k/usr/dict/*,k~/spanish
s scan the files given with the 'thesaurus' option
s{tsr} scan the file {tsr}. Several "s" flags can be given, patterns are valid too.
i scan current and included files
d scan current and included files for defined name or macro |i_CTRL-X_CTRL-D|
] tag completion
t same as "]"
Der Standardwert ist .,w,b,u,t,i
, was bedeutet:
1. the current buffer
2. buffers in other windows
3. other loaded buffers
4. unloaded buffers
5. tags
6. included files
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
:
setglobal complete-=i
Wenn Sie dasselbe tun perl
möchten , aber nur für Dateien, können Sie eine autocmd in Ihrem System installieren vimrc
:
augroup PerlSettings
autocmd!
autocmd FileType perl setlocal complete-=i
augroup END
Oder besser, Sie könnten ein Dateityp-Plugin erstellen ~/.vim/after/ftplugin/perl.vim
, in das Sie einfach schreiben würden:
setlocal complete-=i
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:
verbose setglobal complete?
verbose setlocal complete?
Oder kürzer:
verb setg cpt?
verb setl cpt?
Wenn die einzige Quelle, an der Sie interessiert sind, der aktuelle Puffer ist, können Sie stattdessen C-n
verwenden C-x C-n
. Siehe :h i_^x^n
für weitere Informationen.
let g:ctrlp_custom_ignore = { 'dir': '^/usr/' } let g:ctrln_custom_ignore = { 'dir': '^/usr/' }