我正在使用iTerm2 + Tmux + Vim。

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

我遇到的问题是,在Tmux session 中打开Vim时,C-s绑定(bind)不起作用。

当我仅在常规iTerm2 session 中运行Vim时,C-s可以正常工作。由于我经常使用此击键,因此它实在令人沮丧。

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

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

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

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

最佳答案

它可能与流控制有关:从历史上讲(直到今天,在某些终端中还是这样),Ctrl-S暂停输出,而Ctrl-Q恢复输出。

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

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

(由于已经过了5个小时,因此我暂时在回答,但即使我认为原因是正确的,我也可能无法解决问题)。

关于macos - Tmux在OSX ML中阻止Ctrl-s,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18647277/

10-10 23:45
查看更多