Отключить завершение вкладки bash

19

Можно ли отключить автозаполнение bash при нажатии вкладки?

Причина, по которой я хочу это сделать, заключается в том, что я часто вставляю код из редактора, где я использую символ табуляции вместо нескольких пробелов для отступа, в свой терминал.

И нет, вы не можете убедить меня использовать пробелы вместо вкладок.

Tyilo
источник
В zsh клавиша Tab вставляет вкладку, если вы нажимаете ее в начале строки (перед любым непробельным символом). Я не думаю, что bash может быть запрограммирован для этого (вы можете привязать ключ к функции bash, но, AFAIK, вы не можете вызвать завершение из этой функции bash).
Жиль "ТАК - перестань быть злым"

Ответы:

16

положил

 set disable-completion on

застрять ~/.inputrcи перезапустить вашу оболочку. это отключит завершение вообще.

порыв
источник
не только в bash, хотя ...
yrk
8
Чтобы это влияло только на Bash, вместо включения этой строки в ваш ~/.inputrcфайл, добавьте это в соответствующий файл запуска оболочки:bind 'set disable-completion on'
Приостановлено до дальнейшего уведомления.
1
То, что сказал Деннис, и соответствующий файл запуска ~/.bashrc(если он не принимает в оболочке входа в систему, добавьте source ~/.bashrcв ~/.bash_profile).
Жиль "ТАК ... перестать быть злым"
6

Чтобы временно отключить вкладку Bash, вы можете запустить Bash с --noeditingопцией:

alias noed='bash --noediting'
Муста
источник
6

Решение Денниса

bind 'set disable-completion on'

в Bash можно сделать и на лету. Вам не нужно помещать его в .bashrc.

Решение Musta (bash --noediting) работает, но также отключает редактирование командной строки.

Другой способ

bind -u complete

(отменена привязка клавиш, связанная с 'complete')

http://www.gnu.org/software/bash/manual/bashref.html , 4.2 Команды Bash.

Томас Тулинский
источник
Правильный ответ на вопрос "как временно отключить завершение Bash?" Это очень помогает, когда вы перемещаетесь по каталогу с более чем 81 000 файлов, и вы не можете даже нажать Ctrl + C, не дождавшись двух минут, пока Bash вернется с подсказкой.
TheDudeAbides