使用 Vim 时误按“Ctrl + S”

dan*_*lev 28 keyboard-shortcuts vim

如果您在使用 vim 时按Ctrl+s会导致 vim 看起来好像它被锁定/卡住了,除非您按Ctrl+否则您无法进行更多更改q

有人可以解释发生了什么以及为什么?

提示- 这可能与操作系统的终端驱动程序有关!;-)

由于社区最初的负面看法,尽管暗示这与 vim 无关,但无论如何,一些新手可能会寻找有关 vim 的解决方案,我会补充说:

我希望更新的问题更有用。

小智 30

嗯,这不是vim问题。这称为Software flow control. 互联网上有一堆信息。

根据这里的一篇文章:

CTRL-S (XOFF) 是软件流控制的一部分。XOFF 通知发送数据的进程或设备输入缓冲区已满,不应再发送任何数据。软件(输出进程、固件、终端等)可以选择如何处理通知——即保持运行和缓冲数据、丢弃数据、暂停直到收到 XON 等。

关于Software flow control 这里的更多信息。

注意:如果您想在按下CTRL + s组合键后获得终端的控制权,您可以按下CTRL + q

我希望这有帮助。

  • 请注意,如果这很烦人,您可以通过将 `stty stop ""` 添加到您的启动脚本之一(例如,`~/.bashrc`)来禁用 Linux 上的 `Ctrl-s`。 (7认同)
  • @AFH 在 [`stty -ixon`](https://unix.stackexchange.com/a/515257/307359) 上使用 `stty stop ""` 有什么意义吗?感觉很hacky,因为 `stty -ixon` 是 [`man stty`](https://man7.org/linux/man-pages/man1/stty.1.html) 中建议的方式 (2认同)