Bash-like partial tab-complete untuk nama file di Vim

16

Di Bash, ketika ada beberapa file dengan awalan yang sama dan saya mengetik bagian dari awalan dan tekan Tab, itu melengkapi awalan umum dan memungkinkan saya untuk terus mengetik untuk membedakan di antara hasil yang mungkin.

Di Vim, ketika ada beberapa file dengan awalan yang sama dan saya mengetik bagian dari awalan dan tekan Tab, itu menyelesaikan seluruh pertandingan pertama dan memungkinkan saya kemudian memilih di antara semua pertandingan. Untuk mengurangi set, saya harus mundur hingga saya mencapai bagian umum, lalu ketik lagi dan tekan Tablagi.

Saya sering memiliki banyak file di mana ada awalan umum yang panjang, dan file yang saya inginkan tidak ada di antara yang pertama (misalnya, direktori file proyek yang berisi, antara lain, berbagai makefile semua dengan nama Makefile.{whatever}).

Bisakah saya membuat Vim lebih lengkap seperti Bash untuk menghemat banyak pukulan kunci?

Bonus jika ini juga berlaku untuk penyelesaian lain (misalnya, enum nilai yang semuanya memiliki awalan yang sama)

John O'M.
sumber

Jawaban:

16

Anda dapat menggunakan wildmodeopsi untuk mengontrol ini.

Jika Anda menggunakan :set wildmode=list:longest, Anda mendapatkan perilaku yang mirip dengan bash.

Saya pribadi lebih suka menggunakan :set wildmode=list:longest,full; ini akan menampilkan kelengkapan, tetapi pada pers kedua Tab , Anda dapat menggilir antara entri (dan Shift+Tabuntuk menggilir terbalik).

Ini berlaku untuk semua penyelesaian yang dilakukan oleh Vim.

Lihat: :help 'wildmode'

Martin Tournoij
sumber
3
Tidak memasukkan penyelesaian mode! Anda membutuhkannya completeopt.
Kaya
Terima kasih! wildmode dan completeopt adalah persis apa yang saya cari!
John O'M.