Varsayılan olarak, C-n
veya tuşuna bastığınızda C-p
Vim, tamamlama menüsünü dolduracak adayları bulmak için çeşitli kaynakların içine bakar.
Bu kaynaklar arabellek-yerel 'complete'
seçeneğiyle yapılandırılabilir .
Bu seçeneğin değeri, virgülle ayrılmış bir bayrak listesidir. Her bayrağın kendi anlamı vardır :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 "]"
Varsayılan olarak, değeri .,w,b,u,t,i
:
1. the current buffer
2. buffers in other windows
3. other loaded buffers
4. unloaded buffers
5. tags
6. included files
Birlikte verilen dosyaları taramanın çok uzun sürdüğünü fark ederseniz i
, 'cpt'
seçeneği seçenekten kaldırmayı deneyebilirsiniz .
Genel değerden kaldırmak istiyorsanız, varsayılan olarak tüm arabellekleri etkilemek için aşağıdakilere yazabilirsiniz vimrc
:
setglobal complete-=i
Aynı şeyi yapmak istiyorsanız, ancak yalnızca perl
dosyalar için, içine bir autocmd kurabilirsiniz vimrc
:
augroup PerlSettings
autocmd!
autocmd FileType perl setlocal complete-=i
augroup END
Ya da daha iyisi, örneğin içine ~/.vim/after/ftplugin/perl.vim
yazacağınız bir dosya türü eklentisi oluşturabilirsiniz :
setlocal complete-=i
'complete'
Seçeneğinizin geçerli küresel ve yerel değerlerinin ne olduğunu ve en son nerede ayarlandıklarını kontrol etmek için şu komutları kullanabilirsiniz:
verbose setglobal complete?
verbose setlocal complete?
Veya daha kısa:
verb setg cpt?
verb setl cpt?
İlgilendiğiniz tek kaynak geçerli arabellekse, kullanmak yerine, C-n
kullanabilirsiniz C-x C-n
. Daha :h i_^x^n
fazla bilgi için bakınız .
let g:ctrlp_custom_ignore = { 'dir': '^/usr/' } let g:ctrln_custom_ignore = { 'dir': '^/usr/' }