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.
                 
                
                
                 
sttycomando intenté asignar la "palabra de matar"Ctrl+BckSpcescribiendostty weraseseguido de Ctrl-v Ctrl-Retroceso. Esto inserta el carácter literal Ctrl-Retroceso como argumento parastty werase. Desafortunadamente, no requiere escribirCtrl-Backspacepara eliminar la palabra, pero funciona solo con laBackspaceclave. Así que me gustaría respaldar la solicitud de @terdon para aprender cómo hacer esto. Para restablecer elwerasevalor predeterminado, usestty werase Ctrl-v Ctrl-w.ctrl-backspace. La tecla de retroceso generalmente se envía comoctrl-hoctrl-?, o loctrl-backspaceserí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
xtermyrxvtquizás otros, agregue esta línea a su~/.inputrc(cree el archivo si no existe):gnome-terminaly parece que tiene AltBackspacepor defecto, pero aparentemente requiere que parchesreadline()para obtenerlo CtrlBackspace.Ver también:
konsolefuente
Alt+ Backspacefunciona para mí en bash y zsh.
fuente
Ctrl+Welimina toda la URL mientrasAlt+Backspaceelimina una palabra y deja de eliminar cuando se encuentra un carácter especial.ctrl-yque tirar / deshacer / pegar.En Mac, puedes usar:
Fn+Delete
fuente