Câu trả lời:
Sử dụng Ctrl+ u:
Từ bash
tài liệu, Killing And Yanking :
unix-line-disard (Cu)
Giết lùi từ con trỏ đến đầu dòng hiện tại.
Ctrl+ uHành vi không chỉ kiểm soát bởi các vỏ có biên tập dòng riêng của họ như bash
, zsh
, tcsh
, sh -o emacs
, mà còn bởi sự kỷ luật dòng của trình điều khiển thiết bị đầu cuối khi ở chế độ kinh điển (như trong cat
, hoặc triển khai cơ bản của sh
/ ksh
khi không có line-biên tập viên đã được kích hoạt ). Do đó, nó hoạt động ở khắp mọi nơi.
Bạn có thể kiểm tra kỷ luật dòng của trình điều khiển đầu cuối bằng cách sử dụng stty -a
(hoặc stty -everything
trong hệ thống 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
giết chết ở đầu dòng chỉ trong readline / bash , không phải trong các shell khác.
bash
, ^K
cũng giết đến cuối bộ đệm, vì vậy tôi nghĩ ^U
là đảo ngược của nó?
^K
là kill-line
một chút sai lệch. Lưu ý rằng cũng có một backward-kill-line
ràng buộc ^X^?
(cũng giết nhiều hơn một dòng).
^u
được quản lý theo kỷ luật dòng TTY (miễn là TTY ở chế độ đầu vào dòng, trái ngược với chế độ nhập ký tự). Do đó, nó hoạt động ở khắp mọi nơi. Xemman stty
và tìm kiếmkill CHAR
. Ngoài ra, tôi giữ vỏ của mình ở chế độ vi, và nó cũng hoạt động ở đó.