Desativar conclusão da guia bash

19

É possível desativar o preenchimento automático do bash ao pressionar a tecla tab?

O motivo pelo qual desejo fazer isso é que colo frequentemente o código de um editor em que uso o caractere de tabulação, em vez de vários espaços de indentação, no meu terminal.

E não, você não pode me convencer a usar espaços em vez de guias.

Tyilo
fonte
No zsh, a tecla Tab insere uma guia se você a pressionar no início de uma linha (antes de qualquer caractere que não seja um espaço em branco). Eu não acho que o bash possa ser programado para isso (você pode vincular uma chave a uma função do bash, mas o AFAIK não pode ativar uma conclusão a partir dessa função do bash).
Gilles 'SO- stop be evil'

Respostas:

16

colocar

 set disable-completion on

string ~/.inputrce reinicie seu shell. desabilitará a conclusão.

pressa
fonte
não apenas no bash ...
yrk
8
Para que isso afete apenas o Bash, em vez de incluir essa linha no seu ~/.inputrcarquivo, adicione-o ao arquivo de inicialização do shell apropriado:bind 'set disable-completion on'
Pausado até novo aviso.
1
O que Dennis disse e o arquivo de inicialização apropriado é ~/.bashrc(se não receber as conchas de login, adicione source ~/.bashrca ~/.bash_profile).
Gilles 'SO- stop be evil'
6

Para desativar a conclusão da guia Bash apenas temporariamente, você pode iniciar um Bash com a --noeditingopção:

alias noed='bash --noediting'
musta
fonte
6

A solução de Dennis

bind 'set disable-completion on'

também pode ser feito em tempo real no Bash. Você não precisa colocá-lo em .bashrc.

A solução de Musta (bash --noediting) funciona, mas também desativa a edição da linha de comando.

Outra maneira é

bind -u complete

(ligação de chave não configurada associada a 'completo')

http://www.gnu.org/software/bash/manual/bashref.html , 4.2 Comandos internos do Bash.

thomas tulinsky
fonte
A resposta correta para a pergunta "como desabilito temporariamente a conclusão do Bash?" Isso ajuda muito quando você está navegando por um diretório com mais de 81.000 arquivos e não pode nem Ctrl + C sem esperar dois minutos para que o Bash volte com um prompt.
TheDudeAbides