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"