PuTTY/MinTTY 和 Tmux/Byobu 中的功能键快捷键

Kar*_*son 18 ssh putty mintty tmux byobu

作为 Stack Exchange 的长期潜伏者,我已经找到了大部分问题的答案,而无需注册帐户。但是今天我完全被这个问题难住了,所以我寻求帮助。

我最近发现了 Byobu,它是 Tmux 的前端,它使用 Fn 键执行常见任务。通过 SSH 从我必须在工作中使用的 Windows PC 到远程 linux 服务器进行多任务处理,这是一个真正的祝福。

目前,我正在通过 SSH 隧道使用 gnome-terminal,因为 PuTTY 和 MinTTY(Cygwin 的默认终端)似乎都为功能键发送了错误的键码。

我想知道是否有办法重新映射某些转义码,以便至少我的一个基于 Windows 的终端可以与 Tmux 正常工作。(我想我可以只学习 Ctrl+b/Ctrl+a 组合键,但是执行组合键后跟另一个键并没有真正让我觉得符合人体工程学。)

在 PuTTY 中,将 Terminal>Keyboard>"The Function keys and keypad" 设置为 "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
Run Code Online (Sandbox Code Playgroud)

到目前为止,MinTTY 看起来是最好的候选者,但它给了我一个完全不同的问题,byobu 忽略了 95% 的 Fn 按键,将它们直接传递给客户端应用程序。我可以运行 cat -v 并向 F2(新窗口)键发送垃圾邮件,它会在突然产生一个新窗口之前打印四到五次“^[0Q”。

如果有人有建议,将不受欢迎。我在互联网上找到的大多数东西都说要改变终端类型,但我已经尝试了两个程序提供的每一个组合。

谢谢!

smo*_*345 0

我自己也以同样的方式使用BYOBU。这些天我只使用 cygwin,因为 F2、3、4 和 F6 对我有用,这些是我真正关心的唯一的。然而,当我使用 putty 时,我通过将“功能键和键盘”设置设置为模拟 VT100+ 获得了最大的成功