Qual é o atalho de teclado oposto ao Ctrl + k?

12

Ctrl+ Kexclui o restante da linha em uma linha de comandos do UNIX. Como faço para excluir todo o texto antes do cursor?

sintagma
fonte

Respostas:

15

Use Ctrl+ u:

A partir da bashdocumentação, Killing And Yanking :

descarte de linha unix (Cu)

Recue do cursor até o início da linha atual.

Ctrl+ uComportamento não só é controlado pelas conchas que têm o seu próprio editor de linha como bash, zsh, tcsh, sh -o emacs, mas também pela disciplina linha do controlador do terminal quando em modo canônico (como em cat, ou implementações básicas de sh/ kshquando nenhuma linha-editor está habilitado ) Assim, funciona em qualquer lugar.

Você pode verificar a disciplina de linha do driver do terminal usando stty -a(ou stty -everythingno 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
fonte
1
"Funciona apenas se o seu shell suportar o Modo de Edição do Readline Emacs". Isto é falso. ^ué gerenciado pela disciplina de linha TTY (desde que o TTY esteja no modo de entrada de linha, em oposição ao modo de entrada de caracteres). Assim, funciona em qualquer lugar. Veja man sttye procure kill CHAR. Além disso, mantenho meu shell no modo vi, e ele funciona lá também.
Patrick Patrick
@ Patrick: Não sei sobre isso, remova a parte errada.
cuonglm
1
Observe que, como eu disse, ^Umata até o início da linha apenas em readline / bash , não em outras conchas.
Stéphane Chazelas
1
@ StéphaneChazelas: Em bash, ^Ktambém mata até o final do buffer, então eu acho que ^Ué o contrário?
precisa
1
De fato, desculpe. Observe que ^Ké kill-lineum pouco enganador. Observe que também há um backward-kill-linelimite ativado ^X^?(que também mata mais de uma linha).
Stéphane Chazelas