Bash'ı zsh gibi bir sekmeyle otomatik tamamlayacak şekilde yapılandırmak mümkün mü?


13

Çoğu insanın bildiği gibi, komut isteminde bash kullanırken, kısmen bir dosya adı bir komut veya bir komut için bir seçenek vb. Yazarsanız, tam olarak bir eşleşme varsa bash sözcüğü tamamlar.
Birden fazla eşleşme olduğunda, <Tab>iki kez vurmanız gerekir ve bash olası eşleşmelerin bir listesini oluşturur.
İlk önce bu seçenekleri sağlamak için bash'ı yapılandırmak istiyorum <Tab>.
Senaryo yazmadan bu mümkün mü? yani bir kabuk seçeneği?

man bash "programlanabilir tamamlama" bölümü var, ancak "tek sekme tamamlama" yı etkinleştirme seçeneği olup olmadığını anlayamadım.


Yanıtlar:


17

Bunu şuna ekle ~/.inputrc:

set show-all-if-ambiguous on

Ek kredi için şunu ekleyin:

set completion-ignore-case on

Tüm seçenekler GNU kılavuzundadır ...


3
Dikkat: bunu senin yerine koymak ~/.bash_profileişe yaramaz. ~/.inputrc
İçine

5
Şaka yapmıyorum ... Bu yüzden oraya koymayı belirtmiştim.
jasonwryan

7

Ben yorumun için yeterli itibar yok, ama eklenebilir bu jasonwryans cevaplara eklersiniz .bash_profileveya .bashrconları yazarak:

bind 'set show-all-if-ambiguous on'
bind 'set completion-ignore-case on'

Bu soruyu benim yaptığım gibi başka kimsenin bulması durumunda.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.