xinput - Ctrl+se comporta mal se a pesquisa de histórico para trás for mapeada

xinput - Ctrl+se comporta mal se a pesquisa de histórico para trás for mapeada

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 ;5De ;5Cem vez disso.

Então, como faço para que Ctrl+ Lefte Ctrl+ Rightfaçam as coisas certas?

Responder1

Os dois readlinecomandos para esses movimentos são forward-worde 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 ^[Ocand ^[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

informação relacionada