Answers:
使用Ctrl+ u:
根据bash
文档,Killing and Yanking:
Unix丢弃(Cu)
从光标向后杀死到当前行的开头。
Ctrl+ u行为不是由有自己的行编辑器像贝壳只有在控制bash
,zsh
,tcsh
,sh -o emacs
,同时也得到了终端驱动程序时,在规范模式(如在的线路规范cat
,或基本实现sh
/ ksh
时,没有线编辑器启用)。因此,它无处不在。
您可以使用stty -a
(或stty -everything
在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
^U
杀死行的开头,而不是在其他shell中。
bash
,^K
还会杀死缓冲区的末尾,所以我认为^U
是相反的吗?
^K
是kill-line
所以这是一个有点误导。请注意,还有一个backward-kill-line
界限^X^?
(也会杀死多个行)。
^u
由TTY行规程管理(只要TTY处于行输入模式,而不是字符输入模式)。因此,它无处不在。查看man stty
并寻找kill CHAR
。另外,我将外壳保持在vi模式下,并且在那里也可以工作。