GeekHub

关于Vi/Vim与Ctrl+S

在大多数图形界面的软件中Ctrl+s都是保存的快捷键,所以使用Vi或者Vim时,经常会习惯性的按下Ctrl+s键,如果你也这么试过的话,你会发现你的Vi/Vim一定会卡死,Ctrl+C或者Ctrl+Z也无法关闭Vi或者Vim,只能重开一个终端继续编辑。

解决方案很简单,只要再按下Ctrl+Q,Vi/Vim又恢复正常了

所以这是Vi/Vim的bug么,其实这个锅不能由Vi/Vim背,因为Ctrl+S是终端的锁定屏幕的快捷键,也就说不管在不在Vi/Vim中,只要在终端中按下Ctrl+S都会产生“死机”的假象,所以以后碰上终端卡死的情况,不妨试试看Ctrl+Q,兴许是终端被锁定导致的。

其实Ctrl+S/Ctrl+Q的作用和键盘上万年吃灰的ScrLK(ScreenLock)键是一样的,Ctrl+S锁定终端后,直接按下ScreenLock也可以实现解锁(勘误:和系统环境相关,实测在Ubuntu下可以,在Deepin下无效),所以可以这么记忆:

  • Ctrl+S: ScreenLock
  • Ctrl+Q:Quit

 

One thought on “关于Vi/Vim与Ctrl+S

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注