5

据我所知terminfo(5), kcuu1 应该是按下向上箭头时终端发送的序列。我从来没有见过,除了^[[A(现在谈论cat,混乱的终端设置等)之外的任何东西。那么,鉴于我使用的终端(rxvt、gnome-terminal、iTerm)都默认为 TERM=xterm,为什么不是 kcuu1 \E[A

我看到 cuu1 \E[A,但是(再次从手册页),这是我应该发送到终端以移动光标的字符串,而不是终端发送给我的字符串。

顺便说一句,这适用于 OS X。

4

1 回答 1

4

箭头和其他特殊键(terminfo 将它们称为“键盘”)根据终端是否处于“应用程序模式”发送不同的代码。想要使用各种k*键的应用程序应该首先输出smkxrmkx最后恢复旧行为)。

您可以尝试Ctrl+V Up在 vi(或类似的终端应用程序)中查看Up确实发送到\EOA那里。

有关更多详细信息,请参阅这些链接:

于 2015-07-26T22:12:02.503 回答