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


19

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

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

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


В 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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.