Wyłącz uzupełnianie zakładki bash

19

Czy można wyłączyć autouzupełnianie bash po naciśnięciu klawisza Tab?

Powodem, dla którego chcę to zrobić, jest to, że często wklejam kod z edytora, w którym używam znaku tabulacji zamiast pewnej liczby spacji do wcięcia w moim terminalu.

I nie, nie możesz mnie przekonać do używania spacji zamiast tabulatorów.

Tyilo
źródło
W zsh klawisz Tab wstawia tabulację, jeśli naciśniesz ją na początku wiersza (przed dowolnym znakiem innym niż spacja). Nie sądzę, że bash może być do tego zaprogramowany (możesz przypisać klawisz do funkcji bash, ale AFAIK nie możesz uruchomić zakończenia z tej funkcji bash).
Gilles „SO - przestań być zły”

Odpowiedzi:

16

położyć

 set disable-completion on

zaloguj się ~/.inputrci zrestartuj powłokę. spowoduje to całkowite wyłączenie ukończenia.

wysypka
źródło
nie tylko w bash ...
yrk
8
Aby miał wpływ tylko na Bash, zamiast ~/.inputrcdołączać ten wiersz do pliku, dodaj go do odpowiedniego pliku startowego powłoki:bind 'set disable-completion on'
Wstrzymano do odwołania.
1
To, co powiedział Dennis i odpowiedni plik startowy to ~/.bashrc(jeśli nie przyjmuje powłok logowania, dodaj source ~/.bashrcdo ~/.bash_profile).
Gilles „SO- przestań być zły”
6

Aby tymczasowo wyłączyć uzupełnianie zakładki Bash, możesz rozpocząć Bash z --noeditingopcją:

alias noed='bash --noediting'
musta
źródło
6

Rozwiązanie Dennisa

bind 'set disable-completion on'

można to zrobić również w locie w Bash. Nie musisz go umieszczać w .bashrc.

Rozwiązanie Musty (bash --noediting) działa, ale wyłącza również edycję wiersza poleceń.

Innym sposobem jest

bind -u complete

(nie ustawiono powiązania klawiszy z „kompletnym”)

http://www.gnu.org/software/bash/manual/bashref.html , 4.2 Wbudowane polecenia Bash.

Thomas Tulinsky
źródło
Prawidłowa odpowiedź na pytanie „jak tymczasowo wyłączyć uzupełnianie Bash?” To bardzo pomaga, gdy przeglądasz katalog z ponad 81 000 plików i nie możesz nawet Ctrl + C bez czekania dwóch minut na powrót Bash z monitem.
TheDudeAbides