问题场景一:
我在使用vim和neovim时喜欢把Ctrl+Q绑定为退出当前所有窗口,但是我在登录ssh使用vim时却发现按Ctrl+Q完全没反应。然后又尝试使用neovim,我发现在neovim中没有这样的问题。
nnoremap <C-Q> :qa<CR>
解决:
我一开始以为是某些插件导致按键冲突,我排查了一遍发现原因不在插件身上。原因 : 有的终端连接会吃掉 CTRL-Q,导致该快捷键无效。在 GUI 版本
里就不会出现这样的问题。
问题场景二:
经常在windows写东西,最常用Ctrl+S保存,但在Vim中却不是这样。有时在Vim写完东西想保存容易按到Ctrl+S。这时就很神奇了???什么卡住!!!
这时无论按什么键都无效,但是Ctrl+C却能解决这样的尴尬。这是开始学习Vim的同学常犯的错误。
原因:
Windows :Ctrl+S = 保存
Unix(Linux):Ctrl+S(在Vim中)
- Normal模式:没什么反应(在GUI版本的vim)或“卡住”
- Insert模式:插入了^S(在GUI版本的vim)或“卡住”
解决:
按一次Ctrl+Q就恢复可动了。
(Unix)Linux下的的Ctrl-S用于终端控制流。
在Vim中按下Ctrl-S,这个时候屏幕就像定住了一样,终端不会继续输出,也不会响应你的输入,即可以继续输入但是不显示,按一下Ctrl+Q就会都显示出来,也恢复了正常情况。
应用:
按Ctrl+S时,系统在输出很长的内容时,想定住屏幕阅读一些内容,此时