readline: unix-word-rubout, mas ao contrário, é possível?

readline: unix-word-rubout, mas ao contrário, é possível?

Estou tentando configurar meu .inputrcdesempenho para trás, unix-word-ruboutmas atualmente não estou conseguindo fazer isso.
Eu M-wmapeei no meu .inputrc.

isso não funciona:

"\eu": universal-argument
"\ew":  "\eu-1\C-w"

nem isso:

"\ew":  "\e-1\C-w"

nem mesmo fazendo isso de forma interativa no shell pressionando M--seguido de C-wfunciona, ou seja, fica deletando palavras à esquerda do cursor.

PS Eu sei que existem outros comandos kill/rubout readline, mas eu realmente gostaria de ter o C-wcomportamento de matar palavras usando espaço como separador, apenas ao contrário.

Responder1

Em resumo, adicione as seguintes linhas a ~/.inputrc:

"\ew": kill-region
"\ea": '\e \C-] \ew'

onde we aos personagens podem ser alterados de acordo com sua vontade.

Como funciona

Vamos atribuir uma sequência de teclas ao kill-regioncomando readline, por exemplo Alt-w

"\ew": kill-region

então vamos atribuir a seguinte macro a outra sequência, digamos Alt- a:

"\ea": '\e \C-] \ew'

que executa as seguintes ações:

\e<SPACE>:

definir a marca onde o cursor está

\C-]<SPACE>:

procure um espaço e mova o cursor para lá

\ew:

mate a região entre a marca e o cursor

informação relacionada