5

私が読んでわかることからterminfo(5)、 kcuu1 は、上向き矢印が押されたときに端末が送信するシーケンスである必要があります。^[[A私はそれが(今話していることcat、端末設定のめちゃくちゃなど)以外のものを見たことはありません。それで、私が使用した端末 (rxvt、gnome-terminal、iTerm) はすべてデフォルトで TERM=xterm になっているのに、なぜ kcuu1 ではないのでしょ\E[Aうか?

cuu1が であることがわかります\E[Aが、(man ページから、再び)、それは、端末が私に送信する文字列ではなく、カーソルを移動するために端末に送信する必要がある文字列です。

ところで、これはOS Xの場合です。

4

1 に答える 1

4

矢印キーやその他の特殊キー (terminfo では「キーパッド」と呼ばれます) は、端末が「アプリケーション モード」にあるかどうかによって異なるコードを送信します。k*さまざまなキーを利用したいアプリケーションは、smkx最初に出力する (そしてrmkx最後に古い動作を復元する) 必要があります。

Ctrl+V Upvi (または同様の端末アプリケーション) で試して、Up実際に\EOAそこに送信されることを確認できます。

詳細については、次のリンクを参照してください。

于 2015-07-26T22:12:02.503 に答える