6

我正在使用 iTerm2 + Tmux + Vim。

这是我的点文件: https ://bitbucket.org/furion/dotfiles/src

我遇到的问题是,当在 Tmux 会话中打开 Vim 时,C-s绑定不起作用。

当我在常规 iTerm2 会话中运行 Vim 时,C-s工作正常。由于我经常使用这个按键,这真的很令人沮丧。

此外,此问题仅存在于 OSX 上。在我的 Arch 盒子上,无论是否有 Tmux,一切正常。

编辑:我已经禁用了控制流:

bind -r '\C-s'
stty -ixon
stty stop undef

此问题仅在 OSX 上。此外,它仅在 OSX 上的 Tmux 下。没有 Tmux 没有问题。在 Arch Linux 上使用或不使用 Tmux,没有问题。

4

3 回答 3

4

它可能与流控制有关:从历史上看(今天仍然存在,在某些终端中),Ctrl-S 暂停输出,而 Ctrl-Q 恢复它。

iTerm2 忽略 Ctrl-S,因为它假定在 300 和 2400 波特调制解调器并不常见的世界中,它没有用于流量控制。

我不确定,但我认为stty -ixon可能会有所帮助。

(我暂时回答,因为已经 5 小时了,但我可能离解决方案还有很长的路要走,即使我认为原因是正确的)。

于 2013-09-06T04:18:50.113 回答
1

我想出了解决办法,但我不知道发生这种情况的原因

我做了一个 TMUX 命令来重新加载配置文件也运行stty -ixon

这必须手动完成,即使它在.bashrc或中设置,因为问题在初始化后就.profile显现出来了。

这是相关的 TMUX 配置行

bind-key r run "tmux source-file ~/.tmux.conf; stty -ixon"
于 2015-08-04T19:58:28.520 回答
0

我在尝试解决Ctrl-SmacOS 上 iTerm 中的 bash 中forward-search-history的问题时发现了这个问题i-search,尽管有:

$ bind -p | grep 'forward-search-history'
"\C-s": forward-search-history

我发现它没有解决放入stty -ixon.bashrc 的问题,但放入.bash_profile确实解决了它。所以,也许这会帮助谷歌在这里领导的其他人。

$ grep stty ~/.bash_profile
stty -ixon
于 2019-10-25T21:04:35.450 回答