Tmux在OSX ML中阻止Ctrl-s

if *_*one 5 macos vim tmux iterm2

我正在使用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
Run Code Online (Sandbox Code Playgroud)

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

Ama*_*dan 5

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

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

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

(我暂时回答,因为已经过去了 5 个小时,但我可能离解决方案还很遥远,尽管我认为原因是正确的)。