在 PuTTY 中为 tmux 下的 Vim 和 Midnight Commander 配置功能键?

在 PuTTY 中为 tmux 下的 Vim 和 Midnight Commander 配置功能键?

首先,我知道我可以使用Alt+ 1(到 9 和 0)来合成 Midnight Commander 中的相应功能键(F1F10)。它曾多次帮助我,但默认情况下我仍然按下实际的功能键直观。

要点:我正在尝试tmux使用 PuTTY 在会话(有时是窗口,有时是窗格)内同时运行 Vim 和 Midnight Commander。

因此默认情况下我有以下 PuTTY 配置:

PuTTY 键盘配置

使用ESC[n~映射

map <F1> :tab help<CR>现在在 Vim 中映射 (以及nmapimap)时,问题F1在于它会产生 (切换大小写) 的效果~。事实上,如果我在 shell 中按下,结果就是波浪符号 ( F1) ,F5~沿着带铃声。不过,使用此设置,功能键在 Midnight Commander 中工作正常。

除了我遇到的问题之外,上述设置还有一个奇怪之处F1:我还在 Vim 中“映射”了F5( set pastetoggle=<F5>)。奇怪的是像魔法一样工作,即使F5外壳上的键给出了~F1等等一样的效果。

笔记:当在 之外运行 Vim 时tmux, 的默认绑定(和我的覆盖)F1可以正常工作!

使用“Linux”映射

因此,我自然而然地尝试使用上面对话框中的“Linux”设置。因此,当我按下时,F1Vim 会在行末进入插入模式(效果A)。Midnight Commander 无法识别此设置下的任何功能键。果然,shell 上F1出现了A一个铃声(F2aB等等)。

我在这里遗漏了什么?如何才能获得统一的行为,让 Midnight Commander 和 Vim 都能识别功能键?


附加信息:

远程系统是 Ubuntu 14.04 LANG=en_US.UTF-8

TERM设置为会话TERM=xterm之外tmux并且TERM=screen从窗格或窗口内部查看时。

我不使用:

set-option -g default-terminal "screen-256color"

覆盖里面的终端类型tmux

答案1

问题在于TERM=xterm外部tmux与终端描述匹配的PuTTY的配置xterm,不匹配的部分将输入到screentmux(任您选择)。

例如,参见 ncurses FAQ为什么不直接将 TERM 设置为“xterm”?。当然,建议设置

TERM=putty

使用快速检查tack表明此组合(TERM=putty, tmux)适用于 Ubuntu 14.04(您应该已经安装了ncurses-term包含该组合的软件包)。

相关内容