Shift-Arrow 键在 KiTTY 中有效,但在 PuTTY 中无效,无法进行嵌套 tmux 配置

Shift-Arrow 键在 KiTTY 中有效,但在 PuTTY 中无效,无法进行嵌套 tmux 配置

多年来,我一直在 tmux 上使用不同的前缀键来嵌套实例。我\在自己的服务器上使用它,但a对于我连接的任何其他服务器,我都会启动嵌套的 tmux 会话。

我发现了这个技巧它使用Shift+Arrow Keys在窗口和嵌套实例之间切换,这要好得多。

但是,当我使用 PuTTY(使用 Windows)时它不起作用,但当我使用时它可以工作猫咪。我不明白为什么它不能与 PuTTY 一​​起工作。

Ctrl+ vArrow Keys使用任一程序时在终端中返回相同的代码。


编辑:

就在开始赏金之后,我意识到Ctrl+ vSHIFT+Arrow Keys确实会产生不同的代码。

油灰:

SHIFT+ Left Arrow=^[OD

SHIFT+ Right Arrow=^[OC

SHIFT+ Up Arrow=^[OA

SHIFT+ Down Arrow=^[OB

猫咪:

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

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

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

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

那么我该如何改变PuTTY以便它使用SHIFT+发送相同的代码Arrow Keys

答案1

答案是不能,因为这是 PuTTY 的一个错误。这个问题在 stack 上讨论过 -https://stackoverflow.com/questions/6202310/putty-shift-arrows

我在使用 tmux 和 PuTTY 时遇到了类似的问题,因此我改用了 KiTTY。

答案2

我也找不到在PuTTY中重新映射键的任何方法,所以我建议使用自动热键脚本。

ShiftRight映射到键的 示例脚本Esc[1;2D(但仅适用于标题包含的窗口putty.exe)是:

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

将脚本放入后缀为 的文件中.ahk,然后双击进行测试。如果有效,您可以将其复制到启动脚本文件夹,以便在您登录时启动它。

答案3

由于 Kitty 是 Putty 的一个分支,因此它们的设置非常相似。您的 Kitty 和 Putty 之间的设置很可能Terminal > Keyboard不同。使 Putty 设置与 Kitty 设置匹配(尽可能接近)应该可以为您解决问题。特别是。另外,也The Function keys and keypad请检查部分。Terminal > Features

相关内容