web-dev-qa-db-ja.com

ネストされたtmux構成のPuTTYではなくKiTTYで機能するShift-矢印キー

何年もの間、tmuxのネストされたインスタンスに異なるプレフィックスキーを使用してきました。私が使う \自分のサーバー上にありますが、接続してネストされたtmuxセッションを開始する他のサーバーの場合はaです。

私はこのトリックを見つけました Shift+Arrow Keys ウィンドウとネストされたインスタンスを切り替えるために、これははるかに優れています。

ただし、PuTTY(Windowsを使用)を使用している場合は機能しませんが、 KiTTY を使用している場合は機能します。なぜPuTTYで動作しないのか理解できません。

Ctrl+v、 Arrow Keys いずれかのプログラムを使用すると、端末で同じコードを返します。


編集:

賞金を始めた直後、私は Ctrl+v、 SHIFT+Arrow Keys 実際には異なるコードを思い付きます。

PuTTY:

SHIFT+Left Arrow = ^[OD

SHIFT+Right Arrow = ^[OC

SHIFT+Up Arrow = ^[OA

SHIFT+Down Arrow = ^[OB

KiTTY:

SHIFT+Right Arrow = ^[[1;2D

SHIFT+Right Arrow = ^[[1;2C

SHIFT+Up Arrow = ^[[1;2A

SHIFT+Down Arrow = ^[[1;2B

では、PuTTYを変更して、同じコードを送信するようにするにはどうすればよいですか? SHIFT+Arrow Keys

6
paradroid

これはPuTTYのバグであるため、答えはできません。これはしばらく前にスタックで議論されました- https://stackoverflow.com/questions/6202310/PuTTY-shift-arrows

TmuxとPuTTYでも同様の問題が発生したため、KiTTYに切り替えました。

5
szimonek

また、PuTTYでキーを再マッピングする方法を見つけることができないため、 AutoHotkey スクリプトを使用することをお勧めします。

マップするサンプルスクリプト ShiftRight キーに Esc[1;2D、ただし、タイトルにPuTTY.exeが含まれているウィンドウの場合のみ、次のようになります。

#IfWinActive, PuTTY.exe
+Right::SendInput, {esc}[1;2D
#IfWinActive

スクリプトをサフィックス.ahkの付いたファイルに配置し、ダブルクリックしてテストします。動作する場合は、起動スクリプトフォルダーにコピーして、ログオン時に起動するようにすることができます。

0
harrymc

KittyはPuTTYのフォークであるため、設定は非常に似ています。ほとんどの場合、Terminal > Keyboardの設定はKittyとPuTTYで異なります。 PuTTY設定をKitty設定と(可能な限り近く)一致させると、問題が解決するはずです。特にThe Function keys and keypad。また、Terminal > Featuresセクションも確認してください。

0
Cliff Armstrong