Bagaimana saya bisa membuat penyelesaian zsh berperilaku seperti penyelesaian Bash?

12

Saya beralih ke zsh, tapi saya tidak suka penyelesaiannya. Jika saya memiliki 20 file, masing-masing dengan awalan bersama, pada menekan tab, zsh akan sepenuhnya menyelesaikan file pertama, kemudian terus menelusuri daftar dengan setiap tekan tab. Jika saya ingin satu mendekati akhir, saya harus menekan tab berkali-kali.

Dalam bash, ini sederhana - tekan tab dan saya akan mendapatkan awalan. Jika saya terus mengetik (dan menekan tab), bash akan selesai sejauh yang bisa dipastikan. Saya menemukan perilaku ini jauh lebih intuitif tetapi lebih suka fitur lain dari zsh untuk bash.

Apakah ada cara untuk mendapatkan gaya penyelesaian ini? Google menyarankan setopt bash_autolist, tetapi ini tidak berpengaruh bagi saya (dan tidak ada pesan kesalahan yang dicetak saat memulai shell saya).

Terima kasih.

nsm
sumber

Jawaban:

7

Mencoba:

setopt autolist
unsetopt menucomplete
Dijeda sampai pemberitahuan lebih lanjut.
sumber
Bekerja dengan cukup baik, tidak persis sama tetapi pasti sesuatu yang bisa saya gunakan. Terima kasih banyak!
nsm
8

Yang Anda inginkan mungkin ini:

setopt noautomenu
ggustafsson
sumber
1
(10 tahun kemudian) Jawaban yang diterima tidak berpengaruh (jelas) bagi saya. Ini persis apa yang saya inginkan dan apa yang tampaknya diminta OP.
Yer
1

Ada opsi lain jika Anda menggunakan opsi "pilih menu" di .zshrc seperti ini:

autoload -U compinit
compinit
zstyle ':completion:*:*:*:*:*' menu select

Anda akan dapat menavigasi hasil dengan tombol panah. Mari kita ambil contoh Anda dengan "20 file dengan awalan bersama":

  • ketika pertama kali memukul [TAB], zsh akan menyelesaikan lebih banyak hal yang dapat dilakukan dan kemudian menampilkan daftar kemungkinan
  • maka Anda dapat menyelesaikan seperti yang Anda miliki di bash (ketik karakter tambahan, kebagian 0)
  • atau ketik ulang [TAB] dan kemudian Anda akan melihat pilihan yang mungkin disorot dalam menu di bawah prompt shell Anda; bonus, Anda dapat menavigasi dalam kemungkinan dengan tombol panah Anda

Pada akhirnya untuk mencapai kemungkinan terakhir:

  • dengan Bash, paling baik, Anda menekan [TAB] lalu char tambahan lalu [TAB] lagi (mungkin lebih)
  • dengan Zsh, Anda menekan [TAB] lalu [TAB] lagi (untuk masuk ke menu), lalu "<-" (tombol panah kiri) untuk mencapai elemen terakhir

Keduanya adalah 3 pukulan kunci dalam kasus ini. Sisanya sebagian besar masalah selera.

jbbarth
sumber