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模式下,并且在那里也可以工作。