Como modificar o comportamento dos comandos que apagam “palavras” à esquerda

1

Eu recentemente tentei trocar o tcsh por um longo tempo por um usuário bash e eu estava lamentando a tecla extra para excluir "palavras" para a esquerda, então eu estive procurando modificar os comportamentos no bash para torná-lo mais como tcsh para não precisar remapear meus 18 anos de memória muscular. O que estou tentando descobrir atualmente é:

Como alterar os "limites de palavras" quando escape delete é digitado. (Note, quero dizer, 2 pressionamentos de tecla separados.)

No tcsh, quando quero apagar uma palavra para a esquerda, repito 2 pressionamentos de teclas: escape delete. Eu sei que o bash usa control-w para matar a palavra à esquerda e eu descobri como fazer isso ignorar traços e sublinhados como limites de palavras (mas minha memória muscular tcsh usa control-w para excluir tudo o que resta do cursor - bash controle-u). Você pode fazer um dos dois:

bind '\C-w:unix-filename-rubout'

ou

stty altwerase

(embora eu não saiba ainda se isso tem algum efeito colateral indesejado - eu ainda estou tentando entender as coisas). Cada um permite que o controle-w apague através de traços e sublinhados, mas eu não sei como eles diferem de outra forma.

No entanto, fiquei surpreso que a sequência de teclas escape delete nesses dois casos ainda estivesse parando em traços e sublinhados. Eu tentei diferentes comandos de vinculação para alterar isso, como:

set bind-tty-special-chars Off
set bind-tty-special-chars On
bind '\e\C-h:unix-filename-rubout'
bind '\e\C-?:unix-filename-rubout'

Mas nenhum deles altera o comportamento de limite de palavra de escape delete .

Algumas notas: Eu realmente não sei o que o escape delete está fazendo no meu terminal - ou seja, o que está enviando para o bash. Se eu fizer control-v escape , vejo ^[ . Se eu fizer control-v delete , vejo ^? . Estou usando o Terminal.app no macOS. Eu tenho a chave delete definida para não enviar control-h, porque não se comporta da maneira que eu espero em todos os contextos. Eu também não tenho a opção definida como uma meta-chave, já que tenho sido cauteloso para não interromper o uso da opção de seta e clicar com opção para mover o cursor.

    
por hepcat72 13.08.2018 / 20:12

0 respostas