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.


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.


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'

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.