Ctrl + 箭头键在 tmux 中工作

Ctrl + 箭头键在 tmux 中工作

当我通过 SSH 连接到我们的服务器时,control + 箭头序列对我来说工作正常:Ctrl+V然后Ctrl+ updownright、分别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-overridesPuTTY。我的相关内容.tmux.conf是这样的:

set -g default-terminal "tmux-256color"

我用猫咪对于我的终端模拟器,并在可能的情况下编译一个KiTTY 特定的 terminfo 文件,否则用作putty-256color终端类型。

相关内容