答案1
将其添加到您的~/.vimrc
:
silent !stty -ixon
如果这会在非 tty 上产生问题vim
(gvim
不知道,无法测试它),请尝试以下操作:
silent !test -t 0 && stty -ixon
看起来像他们决定-ixon
在最近版本的 vim 中设置默认值,因此这很快将不再是 vim 的问题(请注意,来自 vim 创始人的原始补丁问题是未经测试的垃圾,但最终修补做对了)。
一般来说(对于其他程序),没有通用的解决方案;-)
xterm 有一个ttyModes
资源(和-tm
选项),可用于设置初始模式,但它不会不是支持-ixon
。我认为kitty
连这个都没有。
从 vim 内部运行
stty -ixon
不起作用
这是因为vim
在通过 运行外部命令之前恢复终端的初始(通常是非原始)状态:!command
,然后在回复“按 ENTER 或键入命令”提示时将其更改回原始模式,因此执行的任何更改command
都会丢失。
需要额外说明的是,在该网站和其他地方传播的常见民间传说(“ ^S
/”只是从“和”^Q
之前的时间遗留下来的不合时宜的内容)是错误的;软件流控制是你的事情less
tmux
必须在任何串行线上使用没有RTS/CTS 带外信令(尤其在高波特率的线路上),以及在任何类型的虚拟 tty 上完全无用的东西。
看这IXON
对于那些使用实际串行线连接到设备的人来说,盲目关闭(在这种情况下是通过本地 tty 上的 ssh 客户端)可能会导致的问题。大多数调用(或精确复制它)的程序cfmakeraw
必然会以同样的方式失败(script(1)
这是我想到的第一个)。