Stack Exchangeの長年の潜伏者として、アカウントを作成することなく、ほとんどの問題に対する答えを見つけました。しかし、今日、私はこの問題に完全に困惑しているので、助けを求めています。
最近、一般的なタスクにFnキーを使用するTmuxのフロントエンドであるByobuを発見しました。これは、仕事で使用しなければならないWindows PCからリモートLinuxサーバーへのSSHを介したマルチタスク処理にとって本当に恵まれています。
現在、PuTTYとMinTTY(Cygwinのデフォルト端末)の両方がファンクションキーに間違ったキーコードを送信しているように見えるため、SSHトンネルを介してgnome-terminalを使用しています。
特定のエスケープコードを再マッピングして、Windowsベースの端末の少なくとも1つがTmuxで適切に機能するようにする方法があるかどうか疑問に思いました。(Ctrl + b / Ctrl + aキーの組み合わせを習得することはできたと思いますが、キーの組み合わせに続いて別のキーを実行しても、人間工学的ではありません。)
PuTTYでは、「ターミナル」>「キーボード」>「機能キーとキーパッド」を「XtermR6」に設定すると、通常はFnキーの正しいエスケープシーケンスがプッシュされますが、ShiftおよびCtrl修飾子は壊れています。vimを使用して、各端末から送信されているコードを把握できます。一方、tmuxがソースコードで探している組み合わせを調べたかもしれないと思いますが、よくわかりません。
Key Tmux Expects Gnome-Terminal PuTTY MinTTY
Normal F3: ^[0R ^[0R ^[0R
Ctrl+F3 "\033[13^" ^[01;5R ^[0R ^[[1;5R
Shift+F3 "\033[13$" ^[01;2R ^[[25~ ^[[1;2R
Ctrl+Shift+F3 "\033[13@" ^[01;6R ^[[25~ ^[[1;6R
これまでのところ、MinTTYは最良の候補のように見えますが、ビオブがFnキーを押すことの95%を無視し、クライアントアプリケーションに直接渡すというまったく別の問題を引き起こします。cat -vを実行してF2(新しいウィンドウ)キーをスパムすると、「^ [0Q」が4〜5回出力されてから、突然新しいウィンドウが生成されます。
誰でもアドバイスがあれば歓迎します。インターネットで見つけたもののほとんどが端末の種類を変えると言っていましたが、文字通り、2つのプログラムが提供するすべての組み合わせを試しました。
ありがとう!
kf3
、tmuxにアタッチするときに使用しているTERMから)およびxtermスタイルの変更されたキーシーケンスも認識しますxterm-keys.c
。したがって、Gnome-TerminalおよびMinTTYから報告するシーケンス(シーケンス内のエスケープ+ゼロはエスケープ+レター-OH(別名SS3)である必要がありますが、tmuxによって認識されるはずですが、xterm-keys
オプションが有効