サーバーにSSH接続すると、Ctrl +矢印のシーケンスがうまく機能します。 Ctrl + V その後 Ctrl + up、 down、 right、 left それぞれ^[OA
、^[OB
、^[OC
、^[OD
を返します。 tmuxでは、^[[A
、^[[B
、^[[C
、および^[[D
を取得します。
PuTTY経由でUbuntuに接続していますしかし…
ncurses-term
がインストールされているため、PuTTY
)。他のすべてのキーの組み合わせは、メインシェルで機能しています。TERM=... tmux
を複数回呼び出してみました)この設定を使用するように言っているtmuxのFAQを読みました:
set -g terminal-overrides "xterm*:kLFT5=\eOD:kRIT5=\eOC:kUP5=\eOA:kDN5=\eOB:smkx@:rmkx@"
私の設定をそうする:
set -g default-terminal "screen-256color"
set -g terminal-overrides "screen*:kLFT5=\eOD:kRIT5=\eOC:kUP5=\eOA:kDN5=\eOB:smkx@:rmkx@"
set-window-option -g xterm-keys on
screen
が他の場所で推奨されていたので(私もそこでPuTTY
を試しましたが。
私が見つけた唯一のことは、tmux
内でtput rmkx
を実行することですが、それが正しい解決策であるかどうか、他のプログラムがこの設定を変更する場合、他にどのような影響があるかはわかりません。または、.tmux.conf
で正しく設定する必要があるため、常に手動で入力する必要はありません。
今後の読者のために:
xterm-keys
は使用しないでください。set -g default-terminal "screen-256color"
は常にscreen
またはscreen-256color
である必要があります。そしてset -g terminal-overrides "PuTTY*:kLFT5=\eOD:kRIT5=\eOC:kUP5=\eOA:kDN5=\eOB:smkx@:rmkx@"
は常に等しい/ glob-match $TERM
outside tmuxである必要があります。デフォルトでは、PuTTYは接続>データ>端末タイプでxterm
を使用するため、terminal-overrides
設定で使用するか、PuTTYをPuTTY-256color
を使用するように変更します。 。これはGNUパテの画面?のControlキーの組み合わせを有効にする方法に似ています、しかし別の側面を扱います。
簡単なチェックでは、問題はこの行の間の競合であるようです
set-window-option -g xterm-keys on
この:
set -g terminal-overrides "screen*:kLFT5=\eOD:kRIT5=\eOC:kUP5=\eOA:kDN5=\eOB:smkx@:rmkx@"
set-window-option
を削除すると、構成が機能します。
terminal-overrides
もPuTTYもまったく使用しなくなりました。私の関連する.tmux.conf
はこれです:
set -g default-terminal "tmux-256color"
私は KiTTY を端末エミュレータに使用し、可能な場合は KiTTY固有のterminfoファイル をコンパイルします。それ以外の場合は、端末タイプとしてPuTTY-256color
を使用します。