De acordo com o que eu tenho no meu .bashrc
, você precisa de algo como
bind '"\e[6~": history-search-forward'
Gostaria de manter minhas modificações no menor número de arquivos possível. Por isso, não quero tocar em .inputrc
, a menos que seja absolutamente necessário. Então, dado .inputrc
linhas como :
"\e[5~": history-search-backward
"\e[6~": history-search-forward
Como posso aplicá-las somente usando bash
?
Esta postagem de SU indicou que bind
pode ler .inputrc
e bind
diz a ajuda :
$ help bind
bind: bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]
history-search-*
parece com funções readline, então eu tentei:
bind "\e[6~":history-search-forward
bind "\e[5~":history-search-backward
Page Up agora aciona uma campainha, Page Down imprimiu ~
.
Existe uma maneira geral de usar inputrc
linhas em bash
?
Para qualquer pessoa que pesquise, isso funciona para todos inputrc
comandos: apenas coloque-os entre aspas, coloque um bind
na frente e você é bom (verifique se tem tipos diferentes de cotações se o próprio comando inputrc
exigir cotações).
Por exemplo, set show-all-if-ambiguous on
é a inputrc
config para que a conclusão da tabulação retorne imediatamente várias opções, em vez de tocar primeiro a campainha e, em seguida, a próxima tab retornar as várias opções. Para colocar no seu bashrc
, é só
bind "set show-all-if-ambiguous on"