我不明白为什么 return 在使用 bash 的 readline 时没有自己的密钥。
使用 control + m 与使用 return 相同。
如何创建两个单独的键绑定,一个用于 control + m ,另一个函数用于 return ? < / p>
同样适用于向上/向下箭头等。打印它们显示它们不是一个单独的键,而是一个键序列,所以我不能将该序列用于另一个函数。
答案 0 :(得分:2)
如果你改变了,你会发现使用任何终端应用程序都很麻烦,因为类似POSIX的系统的所有都使用“换行符”作为结束行。 ASCII回车^M
通常会转换为换行符(恰好编码为ASCII换行符^J
)。如果您在终端上运行stty -a
,您可能会注意到这样的事情:
~ (4) stty -a
speed 38400 baud; 40 rows; 80 columns;
lflags: icanon isig iexten echo echoe echok echoke -echonl echoctl
-echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo
-extproc
iflags: -istrip icrnl -inlcr -igncr ixon -ixoff -ixany -imaxbel -iutf8
-ignbrk brkint -inpck -ignpar -parmrk
oflags: opost onlcr -oxtabs -onocr -onlret
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow
-dtrflow -mdmbuf
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T;
stop = ^S; susp = ^Z; time = 0; werase = ^W;
icrnl
表示回车符映射到换行符。所以......如果你打破return
密钥,你可以在每次想要换行时键入 control / M 或 control / J 。大多数人宁愿只为此目的按一个键。