Buat Penyelesaian Tab BASH Di Pertandingan Pertama?

11

Apakah ada cara untuk membuat BASH mengisi pertandingan pertama ketika saya menekan TAB, seperti perintah Windows?

(Seharusnya masih menampilkan daftar yang cocok, tetapi harus berputar melalui mereka ketika saya terus menekan tab.)

yaitu tujuan di sini adalah untuk dapat mengisi setiap pertandingan dengan hanya tombol TAB, mengingat cukup menekan - seperti di Windows.

pengguna541686
sumber

Jawaban:

15

Tambahkan berikut ini ke .inputrcfile Anda , (lokasi yang tepat bervariasi antara sistem):

"\C-i": menu-complete

Ini memetakan TAB ke menu-complete, yang secara otomatis melengkapi pertandingan pertama.

Kemudian tambahkan (atau batalkan komentar) show-all-if-ambiguous, ini menunjukkan daftar kemungkinan penyelesaian pada pers TAB pertama.

Atau, Anda dapat mengatur menu-selesai per sesi (tanpa mengedit .inputrc) dengan melakukan

bind '"\C-i" menu-complete'
Philomath
sumber
Tidak. Itu sama sekali tidak seperti command prompt Windows. :-)
user541686
@Mehrdad: diedit, saya harap saya mengerti sekarang.
Philomath
+1 hampir !!! Itu yang saya inginkan, tetapi apakah ada cara untuk membuatnya melakukan itu dan menampilkan menu jika ambigu? (Mungkin saya meminta terlalu banyak, saya tahu, tetapi saya berharap ini mungkin terjadi.)
user541686
@Mehrdad: jika itu yang Anda inginkan, terimalah, ini membantu orang mendapatkan jawaban yang benar dengan cepat. Adapun permintaan baru Anda untuk melakukan keduanya sekaligus, saya tidak percaya itu mungkin, tetapi siapa yang tahu? ... Namun Anda dapat mengikat menu-completeurutan kunci lain, seperti "\M-s"untuk Meta+S, sehingga Anda dapat memilih sesuka hati.
Philomath
1
Kamu tahu apa? Sepertinya itu benar-benar melakukan apa yang saya inginkan: Pertama menunjukkan menu, dan kemudian bersepeda melalui opsi! Saya tidak berpikir saya melihat ini di komputer pertama yang saya coba (mungkin saya tidak memperhatikan), tetapi tampaknya berfungsi dengan baik! :) (Sunting: Sepertinya Anda memerlukan pengaturan ini dan show-all-if-ambiguous
mengaktifkan
4

Meskipun saya tidak tahu tentang mendapatkan fungsi ini untuk bekerja dengan bash, zsh datang dengan mengatur dengan tepat apa yang Anda inginkan secara default. Lihat oh-my-zsh dan zsh .

zsh memiliki sebagian besar fitur bash dengan beberapa fungsi tambahan di luar kotak, seperti kemampuan untuk bernavigasi hanya dengan tab dan masuk!

Sebagian besar distribusi linux dilengkapi dengan paket untuk menginstal zsh.

Chris Knadler
sumber
1
... oh my zsh !! Itu menarik, saya akan melihatnya ... mungkin atau tidak melakukan apa yang saya butuhkan.
user541686
Senang saya bisa membantu. Distribusi apa yang Anda gunakan? Saya dapat memberi Anda jawaban yang lebih mendalam dengan panduan tentang cara menginstal zsh dan oh my zsh.
Chris Knadler
+1 Saya menginstal zsh, sepertinya cukup mengagumkan! Jika saya tidak mengalami masalah, saya mungkin menerima ini juga, terima kasih! :) (Saya menggunakan Ubuntu btw.)
user541686
Luar biasa, jika Anda baru saja menjalankan apt-get install zsh dan kemudian jalankan installer otomatis untuk oh-my-zsh di sini , Anda harus siap. Beri tahu saya jika Anda membutuhkan bantuan untuk menyiapkannya.
Chris Knadler