我的中有以下几行tmux.conf
:
bind C-n next-window
bind C-p previous-window
然后我在 ITerm2 中有以下键映射,它们将 sendC-f C-p
和C-f C-n
发送到终端(我的 tmux 前缀是C-f
):
- ⌘ [:
0x06 0x70
- ⌘ ]:
0x06 0x6e
在我将 tmux 从 2.0 版本升级到 2.1 版本之前,这些映射一直运行良好。
现在,tmux 接收按键的顺序似乎被颠倒了。例如,运行cat
然后输入⌘ [ctrl f会产生以下内容:
$ cat
p^F
...而我希望⌘ [更改窗口。手动输入ctrl fctrl p按预期工作。如果我连接到运行 tmux 2.0 的远程计算机,我的键映射将像以前一样工作。
我不明白为什么我自己输入时绑定有效,但 ITerm2 发送时绑定无效。为什么会发生这种情况?
答案1
我通过将assume-paste-time
tmux 中的选项设置为 来修复此问题0
。但我不清楚为什么从 2.1 版开始需要这样做(默认值为 1ms,以前有效)。