¿Cuál es el atajo de teclado opuesto a Ctrl + k?

12

Ctrl+ Kelimina el resto de la línea en una línea de comando UNIX. ¿Cómo elimino todo el texto antes del cursor?

sintagma
fuente

Respuestas:

15

Use Ctrl+ u:

De la bashdocumentación, Killing And Yanking :

unix-line-descarte (Cu)

Matar hacia atrás desde el cursor hasta el comienzo de la línea actual.

Ctrl+ uComportamiento no sólo se controla mediante los proyectiles que tienen su propio editor de línea como bash, zsh, tcsh, sh -o emacs, sino también por la disciplina de línea del controlador de terminal en el modo canónico (como en cat, o implementaciones básicas de sh/ kshcuando se activa ninguna línea-editor ) Por lo tanto, funciona en todas partes.

Puede verificar la disciplina de línea del controlador de terminal utilizando stty -a(o stty -everythingen el sistema BSD):

$ stty -a
speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
Cuonglm
fuente
1
"Solo funciona si su shell admite el modo de edición Readline Emacs". Esto es falso ^ues administrado por la disciplina de línea TTY (siempre que el TTY esté en modo de entrada de línea, en oposición al modo de entrada de caracteres). Por lo tanto, funciona en todas partes. Mira man sttyy busca kill CHAR. Además, mantengo mi shell en modo vi, y también funciona allí.
Patrick
@Patrick: No sé sobre esto, elimine esa parte incorrecta.
Cuonglm
1
Tenga en cuenta que, como dije, ^Umata al comienzo de la línea solo en readline / bash , no en otros shells.
Stéphane Chazelas
1
@ StéphaneChazelas: En bash, ^Ktambién mata hasta el final del búfer, ¿así que creo que ^Ues lo contrario?
Cuonglm
1
De hecho, lo siento. Tenga en cuenta que ^Kes kill-lineun poco engañoso. Tenga en cuenta que también hay un backward-kill-linelímite ^X^?(que también mata más de una línea).
Stéphane Chazelas