我正在使用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/