ctrlwes la "palabra de matar" estándar (aka werase
).
ctrlumata toda la línea ( kill
).
Puedes cambiarlos con stty
.
-bash-4.2$ stty -a
speed 38400 baud; 24 rows; 80 columns;
lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl
-echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo
-extproc -xcase
iflags: -istrip icrnl -inlcr -igncr -iuclc ixon -ixoff ixany imaxbel
-ignbrk brkint -inpck -ignpar -parmrk
oflags: opost onlcr -ocrnl -onocr -onlret -olcuc oxtabs -onoeot
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -mdmbuf
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
min = 1; quit = ^\; reprint = ^R; start = ^Q; status = <undef>;
stop = ^S; susp = ^Z; time = 0; werase = ^W;
-bash-4.2$ stty werase ^p
-bash-4.2$ stty kill ^a
-bash-4.2$
Tenga en cuenta que uno no tiene que poner el personaje de control real en la línea, stty entiende poner ^
y luego el personaje que golpearía con control.
Después de hacer esto, si lo golpeo ctrlpborrará una palabra de la línea. Y si golpeo ctrla, borrará toda la línea.
stty
comando intenté asignar la "palabra de matar"Ctrl+BckSpc
escribiendostty werase
seguido de Ctrl-v Ctrl-Retroceso. Esto inserta el carácter literal Ctrl-Retroceso como argumento parastty werase
. Desafortunadamente, no requiere escribirCtrl-Backspace
para eliminar la palabra, pero funciona solo con laBackspace
clave. Así que me gustaría respaldar la solicitud de @terdon para aprender cómo hacer esto. Para restablecer elwerase
valor predeterminado, usestty werase Ctrl-v Ctrl-w
.ctrl-backspace
. La tecla de retroceso generalmente se envía comoctrl-h
octrl-?
, o loctrl-backspace
sería de alguna maneractrl-ctrl-backspace
. Intenté averiguar si se envió algo diferente, pero la masilla, al menos, solo envía retroceso cuando escribectrl-backspace
.También puedes hacer esto con CtrlW.
Otra opción es establecer su propio acceso directo, pero esto dependerá del emulador de terminal que esté utilizando. Para
xterm
yrxvt
quizás otros, agregue esta línea a su~/.inputrc
(cree el archivo si no existe):gnome-terminal
y parece que tiene AltBackspacepor defecto, pero aparentemente requiere que parchesreadline()
para obtenerlo CtrlBackspace.Ver también:
konsole
fuente
Alt+ Backspacefunciona para mí en bash y zsh.
fuente
Ctrl+W
elimina toda la URL mientrasAlt+Backspace
elimina una palabra y deja de eliminar cuando se encuentra un carácter especial.ctrl-y
que tirar / deshacer / pegar.En Mac, puedes usar:
Fn+Delete
fuente