1 如果我碰巧在Vim中编辑某些内容,我想重载Ctrl + S和Cmd + S以保存文件。 在经历了一些^S令人头疼的事后,我想我已经发现在一个终端中可能被外壳捕获,因为它向进程发送信号,或者Vim正在做一些特别的事情来不听它。我有一个perl脚本,将术语置于原始模式,可以很好地读取我的映射(^S发送十六进制0x13),但是当我处于Vim Ctrl+V逐字模式并键入它时没有任何反应。在裸zsh shell中,逐字模式确实向我显示我正在按压^S。这似乎反驳了一个命令,即有一些终端程序流控制绑定到这个键,因为我能够让zsh看到它。 如何让vim识别我的Ctrl + S? unix terminal shell — 史蒂文鲁 source
2 ^S是ASCII XOFF字符。与XON(^Q)一起,它们是用于软件流控制的两个控制信号。 它们不被shell拦截,而是被终端拦截^S,终端拦截意味着停止终端输出并^Q意味着恢复它。 您可以stty -ixon -ixoff通过关闭软件流控制来配置终端(使用)忽略它们,但这可能是徒劳的:尝试将其他功能分配给XON和XOFF是不明智的,因为用户会话中可能还有其他功能(a远程终端,调制解调器,其他一些RS-232设备)解释它们。 — 切拉达 source