
Estou usando essas linhas no meu ~/.inputrc
:
"\e[5~": history-search-backward
"\e[6~": history-search-forward
Com essas configurações, quando digito cno prompt e faço um PageUp, o bash mostra apenas o comando começando com co histórico. PageDownfaz o seu inverso. Acho isso muito produtivo para mim.
Sem essas linhas no meu arquivo inputrc quando eu faço Ctrl+ Left, o cursor usa para ir para uma palavra à esquerda e Ctrl+ Leftfaz o oposto. Mas com as configurações mencionadas acima, quando faço Ctrl+ Lefte Ctrl+ Rightele imprime ;5D
e ;5C
em vez disso.
Então, como faço para que Ctrl+ Lefte Ctrl+ Rightfaçam as coisas certas?
Responder1
Os dois readline
comandos para esses movimentos são forward-word
e backward-word
. Você pode acessá-los, respectivamente, usando (os binds padrão do emacs):
Altfe Altb.
Para começar a trabalhar usando as teclas Lefte Right, você precisa adicionar algumas linhas ao seu arquivo ~/.inputrc
.
Primeiro, confirme as sequências de escape corretas obtendo a saída bruta do seu terminal para essas teclas pressionadas: insira Ctrlv CtrlLefte Ctrlv CtrlRighte anote a sequência (algo como ^[Oc
and ^[Od
). Em seguida, anexe estas linhas ao seu .inputrc
:
"\eOc": forward-word
"\eOd": backward-word
Todos oscomandos readlinepode ser recuperado em seu .inputrc
.
Responder2
observe que essas sequências podem ser diferentes de um terminal para outro. Pelo seu texto, parece que você usa o gnome-terminal.
# on gnome-terminal
"\e[1;5D": backward-word
"\e[1;5C": forward-word