Torna o ctrl-backspace diferente de ctrl-h [duplicado]

1

Eu estou executando o Debian Jessie. Eu estou usando o Xterm, embora eu prefira uma resposta que funcione em um terminal virtual também. Aqui, "backspace" é a tecla com a seta para trás, duas teclas acima da tecla "enter" em um típico layout de teclado do PC dos EUA, se isso for relevante.

Eu gostaria de ter dois atalhos separados: "control + h" para mover o cursor um caractere para a esquerda (um vim keybinding modificado) e "control-backspace" para apagar a palavra antes do cursor (tradicionalmente funcionalidade "control-w").

Meu problema é que eu só posso definir um desses atalhos no meu .inputrc, porque digitar "control + backspace" é interpretado como se eu tivesse pressionado o controle-h.

Como posso separar as funcionalidades dessas chaves? Eu li muitas informações sobre isso, mas fiquei mais confuso.

    
por rexroni 04.12.2016 / 16:06

1 resposta

1

Ao contrário dos aplicativos gráficos, os aplicativos de célula de caractere (aqueles executados em terminais) não vêem pressionamentos de teclas, eles vêem caracteres. A maneira como o Linux configura o teclado, ‹Ctrl› ‹Backspace› é ‹Ctrl› ‹H›, isto é, caractere ‹U+0008› (e simples ‹Backspace› é ‹Del›, que é caractere ‹U+007F› , geralmente visualizado como ^? e muito diferente do que a tecla ‹Delete› gera).

Eles não são chaves diferentes. Eles são os mesmos. Se seu shell for Bash, você poderá ver quais caracteres são enviados por uma determinada tecla pressionando ‹V› e, em seguida, essa tecla.

    
por 04.12.2016 / 16:22