与交换窗格一起使用时,tmux 向 vim 发送密钥无效

与交换窗格一起使用时,tmux 向 vim 发送密钥无效

我有一个带有 2 个窗格的 tmux 窗口(窗格 ID:0 和 1)。在窗格 0 中启动了 vim。我想从 tmux 命令提示符中触发两个命令的组合:

:send-keys -t 0 "iabc" ; swap-pane -D

这些键iabc是在 vim 中进入插入模式并键入。它们是什么并不重要 - 只是用于 vim 的输入。不幸的是这不起作用。确实swap-pane有效,但发送的键不会被 vim“消耗”,直到我手动按下 vim 窗格中的某个键或send-keys再次调用单独的键,然后突然“暂停”操作生效。看起来 vim 的进程无法消耗输入,因为同时交换了包含窗格。

最终我需要一个像这样的绑定:bind-key s send-keys -t 0 "iabc" \; swap-pane -D但我观察到它在命令提示符级别上的行为完全相同。

我尝试了许多不同的带有多个send-keyss 和序列的绑定版本,但都不起作用,所以请不要建议未经测试的猜测,因为我已经为此浪费了很多时间:(我需要在一个 中实现它bind-key。我会很感激对此失败的任何帮助或解释。

tmux 3.0a, vim 8.1, bash 5.0.17(1), Ubuntu 20.04.1 LTS

相关内容