Estoy intentando configurar mi .inputrc
para realizar una operación al revés, unix-word-rubout
pero actualmente no lo logro.
He M-w
mapeado en mi .inputrc
.
esto no funciona:
"\eu": universal-argument
"\ew": "\eu-1\C-w"
tampoco esto:
"\ew": "\e-1\C-w"
ni siquiera hacerlo de forma interactiva en el shell presionando M--
seguido de C-w
funciona, es decir, sigue eliminando palabras a la izquierda del cursor.
PD: Sé que hay otros comandos de línea de lectura para eliminar/borrar, pero realmente me gustaría tener el C-w
comportamiento de eliminar palabras usando el espacio como separador, justo al revés.
Respuesta1
En resumen, agregue las siguientes líneas a ~/.inputrc
:
"\ew": kill-region
"\ea": '\e \C-] \ew'
donde w
y a
los personajes se pueden cambiar a su voluntad.
Como funciona
Asignemos una secuencia de teclas al kill-region
comando readline, por ejemplo Alt:w
"\ew": kill-region
luego asignemos la siguiente macro a otra secuencia, digamos Alt- a:
"\ea": '\e \C-] \ew'
que realiza las siguientes acciones:
\e<SPACE>:
establecer la marca donde está el cursor
\C-]<SPACE>:
busca un espacio y mueve el cursor allí
\ew:
matar la región entre la marca y el cursor