Tornar o preenchimento de tabulação do bash sem distinção entre maiúsculas e minúsculas [duplicado]

40

Possível duplicado:
conclusão de guia sem distinção entre maiúsculas e minúsculas no Bash

Existe alguma maneira de fazer a conclusão de tabulação não diferencia maiúsculas de minúsculas? Por exemplo, se eu tiver um arquivo chamado Hello.txte tentar preenchê-lo por tabulação, digitando heseguido por Tabele, não funcionará. Eu teria que preenchê-lo com tabulação digitando He(observe o H maiúsculo) e Tab. Existe alguma maneira de configurar o bash para que eu não precise preservar o caso ao digitá-lo e tentar preenchê-lo com tabulação?

Wuffers
fonte
Fico feliz em saber que este funciona em Linux, como a outra pergunta é específica da OSX, @sathya
earthmeLon

Respostas:

55

Crie um arquivo nomeado .inputrcem seu diretório pessoal e coloque esta linha nele:

set completion-ignore-case on

Em seguida, abra um novo shell e experimente. Se o / etc / inputrc existe no seu sistema, você também deve adicionar a linha $include /etc/inputrc. Mas não há como tornar isso condicional, portanto, você deve adicioná-lo apenas se esse arquivo existir.

Gordon Davisson
fonte
14
Isso impedirá que o bash leia os padrões /etc/inputrc, quebrando coisas como a navegação com ctrl-esquerda / direita. Certifique-se de adicionar o $include /etc/inputrcseu ~/.inputrc.
Nicolas Marchildon
11
Você também pode usar bind -f ~ / .inputrc para recarregar essa alteração.
bispo
2
Eu estou indo para incorporar @NicolasMarchildon comentário para a resposta, porque ele deve estar lá
theEpsilon
Estranhamente, isso não funciona para mim. Aqui está o meu ~/.inputrc: pastebin.com/WVQmrNZu #
Aleksei Petrenko
@AlexeyPetrenko Isso parece bom para mim. Existem caracteres invisíveis no arquivo que estão atrapalhando as coisas? Tente imprimi-lo com LC_ALL=C cat -vet ~/.inputrc- você verá um "$" no final de cada linha, mas nada mais engraçado. Além disso, tente bind -ve veja o que ele mostra para a completion-ignore-casevariável. Por fim, existe algo em outro arquivo init do shell que pode estar mudando?
Gordon Davisson