Como apagar palavras no terminal com Ctrl-Backspace como no resto do Ubuntu?

4

Quando estou em um texto em qualquer programa (navegador, editor de texto, IDE), posso apagar 3 palavras segurando Ctrl e pressionando Backspace 3 vezes.

Isso funciona perfeitamente em todos os programas, exceto para o terminal. No terminal Ctrl + Backspace simplesmente apaga uma letra, e eu preciso de Alt + Backspace para apagar palavras inteiras.

Como alterno constantemente entre o terminal e outros programas, isso é realmente irritante.

Eu tentei a dica que encontrei aqui (criando ~/.inputrc contendo "\C-?":"\C-W" ), mas isso não funciona para mim. Agora ele apaga toda a palavra quando eu simplesmente pressiono Backspace , mas Ctrl + Backspace ainda apenas remove uma letra.

Alguém sabe como eu posso mudar esse comportamento para que Ctrl + Backspace exclua a palavra à esquerda do cursor? Todas as dicas são bem vindas!

    
por kramer65 19.03.2018 / 13:05

1 resposta

2

Isso geralmente não é possível para o bash por si só, sem a ajuda do emulador de terminal, porque o Backspace é geralmente o mesmo keycode que Ctrl + ? (ASCII DEL) (ou Ctrl + H - backspace ASCII). (Tente Ctrl + V então Backspace para verificar.) Isso faz com que Ctrl + Backspace essencialmente Ctrl + Ctrl + ? ... que é apenas Ctrl + ? ou simplesmente Backspace . *)

Com alguns emuladores de terminal, existem configurações que permitem enviar códigos de teclas personalizados para várias combinações de teclas. Em particular, muitos têm a opção de customizar o que Backspace envia (para alternar entre ASCII DEL ou backspace, geralmente). Você pode experimentar essas opções para ver se o emulador de terminal envia um código de tecla diferente para H e Ctrl + Backspace .

* Isto também é verdade para um número de teclas especiais - Enter é Ctrl + M , o Tab é Ctrl + I , Esc é Ctrl + ] , etc.

    
por muru 19.03.2018 / 14:07