Saya meningkatkan keterampilan vim saya dan mengutak-atik penyelesaian dengan menggunakan perintah Ctrl-n. Saya pemrograman di Perl. Ketika saya dalam mode insert dan menekan Ctrl-n, saya mendapatkan pesan bahwa itu adalah "Memindai file yang disertakan" di bagian bawah terminal dan sepertinya memindai file dalam direktori distribusi perl. Ini bisa memakan waktu beberapa detik sebelum selesai. Sepertinya ini dilakukan dengan paket yang saya sertakan yang berkomentar:
#use Moose;
Jadi saya harus menghapus garis-garis ini agar fitur ini bernilai apa pun. Apakah saya melewatkan sesuatu?
Saya menggunakan plugin perl-support.
autocompletion
StevieD
sumber
sumber
let g:ctrlp_custom_ignore = { 'dir': '^/usr/' } let g:ctrln_custom_ignore = { 'dir': '^/usr/' }
Jawaban:
Secara default, ketika Anda menekan
C-n
atauC-p
, Vim mencari di dalam berbagai sumber untuk menemukan kandidat yang akan mengisi menu penyelesaian.Sumber-sumber ini dapat dikonfigurasi dengan opsi buffer-local
'complete'
.Nilai opsi ini adalah daftar tanda yang dipisahkan koma. Setiap bendera memiliki artinya sendiri yang dijelaskan dalam
:h 'cpt
:Secara default, nilainya adalah
.,w,b,u,t,i
, yang berarti:Jika Anda menemukan bahwa memindai file-file yang disertakan membutuhkan terlalu banyak waktu, Anda dapat mencoba menghapus
i
flag dari'cpt'
opsi.Jika Anda ingin menghapusnya dari nilai global, untuk memengaruhi semua buffer secara default, Anda akan menulis di
vimrc
:Jika Anda ingin melakukan hal yang sama, tetapi hanya untuk
perl
file, Anda dapat menginstal autocmd di dalamvimrc
:Atau lebih baik, Anda bisa membuat plugin tipe file, misalnya di
~/.vim/after/ftplugin/perl.vim
, di mana Anda cukup menulis:Untuk memeriksa apa nilai global dan lokal saat ini dari
'complete'
opsi Anda , dan di mana nilai-nilai itu ditetapkan terakhir, Anda bisa menggunakan perintah ini:Atau lebih pendek:
Jika satu-satunya sumber yang Anda minati adalah buffer saat ini, maka, alih-alih menggunakan
C-n
, Anda bisa menggunakanC-x C-n
. Lihat:h i_^x^n
untuk info lebih lanjut.sumber
'complete'
menyebutkan "file yang disertakan", tetapi jangan menautkan ke rincian lebih lanjut tentang apa artinya itu. Jadi, baca:he include-search
. Di sana, Anda dapat melihat bahwa'include'
opsi menentukan apa artinya itu, dan'path'
digunakan untuk pencarian. Ini berguna untuk melakukan penyesuaian yang lebih baik daripada hanya mengaktifkan / menonaktifkan seluruh fitur.