如何让 Shift-Enter 转义序列在嵌套 tmux 会话中工作?

问题描述 投票:0回答:1

我正在 Macos 主机上运行一个容器,并在 Linux 操作系统的 tmux 会话中使用 iTerm。

在我的 Macos 上,我设置了 iTerm 来发送

Esc + [13;2u
转义序列,以便 Shift-Enter 可以在我有一个使用
<S-CR>
的 Neovim 地图的容器中工作:

inoremap <silent><buffer> <S-CR> <Esc>:VimwikiReturn 4 3<CR>

所以当我没有在容器上打开 tmux 时,这一切都有效。

当我在容器上打开 tmux 会话(在 macos 上运行的外部会话内的嵌套会话)时,就会出现我遇到的问题。当我在内部会话中点击

<S-CR>
时,上面显示的 neovim 地图会被忽略,并且 neovim 中没有任何反应。我尝试了几种不同的尝试,使用内部 tmux.conf 文件中的绑定命令将转义序列传递到内部 tmux 会话,但没有成功。

我怎样才能让它发挥作用?

macos neovim tmux iterm2
1个回答
0
投票

将以下几行放入内部和外部 tmux.conf 文件中即可达到目的:

bind -n S-Enter send-keys "^[[13;2u"

请注意,第一个

^[
字符是通过
ctrl-v
创建的,然后是
[
,并且不是文字
^[

© www.soinside.com 2019 - 2024. All rights reserved.