当我通过 SSH 连接到我们的服务器时,control + 箭头序列对我来说工作正常:Ctrl+V然后Ctrl+ up、down、right、分别left给出^[OA
、^[OB
、^[OC
和^[OD
。在 tmux 中,我得到^[[A
、^[[B
、^[[C
和^[[D
。
我通过 PuTTY 连接到 Ubuntu,但……
我有正确的终端集(
putty
因为ncurses-term
已安装)。所有其他组合键都在主 shell 中工作。我正在使用正确的字符集 (UTF-8)。
我肯定会得到一个 256 色终端(我已经尝试过多次调用
TERM=... tmux
)我已阅读 tmux 常见问题解答,其中提到使用此配置:
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
也在那里尝试过。
我发现唯一有效的是tput rmkx
在 中运行tmux
,但我不知道这是否是正确的解决方案,它还有什么其他影响,其他程序是否会更改此设置,甚至不知道应该如何正确设置它,.tmux.conf
以便我不必一直手动输入它。
答案1
这类似于如何在 putty 上启用 GNU 屏幕的控制组合键?,但涉及不同的方面。
快速检查一下,问题似乎出在这一行之间的冲突
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
使您的配置对我有用。
答案2
我现在根本不再使用terminal-overrides
PuTTY。我的相关内容.tmux.conf
是这样的:
set -g default-terminal "tmux-256color"
我用猫咪对于我的终端模拟器,并在可能的情况下编译一个KiTTY 特定的 terminfo 文件,否则用作putty-256color
终端类型。