Bash sekmesinin tamamlanmasını devre dışı bırak


19

Bash tuşuna basarken otomatik tamamlamayı devre dışı bırakmak mümkün müdür?

Bunu yapmak istememin nedeni, sık sık girintilemek için bir dizi boşluk yerine sekme karakterini kullandığım bir düzenleyiciden kodu terminalime yapıştırmam.

Ve hayır, beni sekmeler yerine boşluk kullanmaya ikna edemezsiniz.


Zsh'de Sekme tuşu, bir satırın başında (boşluk olmayan karakterlerden önce) basarsanız bir sekme ekler. Bunun için programlanabileceğini sanmıyorum (bir anahtarı bir bash işlevine bağlayabilirsiniz, ancak AFAIK bu bash işlevinden bir tamamlamayı tetikleyemezsiniz).
Gilles 'SO- kötü olmayı bırak

Yanıtlar:


16

koymak

 set disable-completion on

dizeyi yerleştirin ~/.inputrcve kabuğunuzu yeniden başlatın. tamamlamayı tamamen devre dışı bırakacaktır.


sadece bash de değil ...
yrk

8
~/.inputrcDosyanıza bu satırı eklemek yerine yalnızca Bash'i etkilemesini sağlamak için bunu uygun kabuk başlangıç ​​dosyasına ekleyin:bind 'set disable-completion on'
sonraki duyuruya kadar duraklatıldı.

1
Ne Dennis söyledi ve uygun başlangıç dosyasıdır ~/.bashrc(o ekleyin giriş kabuklarda almaz ise source ~/.bashrchiç ~/.bash_profile).
Gilles 'SO- kötü olmayı bırak'

6

Bash sekmesinin tamamlanmasını yalnızca geçici olarak devre dışı bırakmak için bir Bash --noeditingseçeneğini başlatabilirsiniz :

alias noed='bash --noediting'

6

Dennis'in çözümü

bind 'set disable-completion on'

Bash'te de anında yapılabilir. .Bashrc'ye koymanıza gerek yoktur.

Musta'nın çözümü (bash - noediting) çalışır, ancak komut satırı düzenlemesini de devre dışı bırakır.

Başka bir yol

bind -u complete

("tamamlandı" ile ilişkili ayarlanmamış anahtar bağlama)

http://www.gnu.org/software/bash/manual/bashref.html , 4.2 Bash Yerleşik Komutları.


" Bash tamamlamasını nasıl geçici olarak devre dışı bırakabilirim?" Sorusunun doğru cevabı. Bu, 81.000+ dosya içeren bir dizinde gezinirken çok yardımcı olur ve Bash'in bir istemle geri gelmesi için iki dakika beklemeden Ctrl + C bile olamaz.
TheDudeAbides
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.