Menggabungkan penyelesaian tab zsh dengan sensitivitas huruf

10

Saya memiliki zsh 5.0.7 yang dikonfigurasikan untuk menggunakan penyelesaian tab dengan case-insensitive

zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'

Masalah yang saya alami adalah bahwa ketidakpekaan kasus ini sering mengarah pada kebutuhan saya untuk menekan Tabwaktu tambahan. Misalnya, direktori rumah saya berisi folder "Desktop", "Dokumen", dan "Unduhan". Jika saya di folder rumah saya dan saya ketik

cd D

dan kemudian tekan Tab, saya melihat tiga kemungkinan yang terdaftar untuk saya. Di sisi lain, jika saya mengetik

cd d

dan kemudian tekan Tab"d" berubah menjadi "D" tapi saya tidak melihat menu penyelesaiannya; Saya perlu menekan Tablagi untuk itu terjadi. Apakah ada cara untuk mendapatkan menu penyelesaian pada saat yang sama bahwa "d" diubah menjadi "D"?

bdesham
sumber
apakah Anda mengaktifkan opsi menucomplete?
llua
@ llua Tidak, saya tidak. Sepertinya itulah yang saya inginkan. Bisakah Anda memposting itu sebagai jawaban?
bdesham

Jawaban:

9

Mengaktifkan opsi MENU_COMPLETEakan melewati koreksi dan segera memasukkan kemungkinan yang cocok pertama.

llua
sumber
4
Terima kasih atas tipnya! Bagi mereka yang bertanya-tanya, seperti saya, perintah lengkapnya adalah setopt MENU_COMPLETE, perlu ditempatkan di.zshrc
cbcoutinho
1

Pengaturan lain yang bermanfaat bisa jadi

setopt no_list_ambiguous

Ini akan memperbaiki "c" menjadi "C" dan menampilkan menu penyelesaian.

Shaoyun
sumber