When I switched from Visual Studio to using Vim I often experienced Vim freezes. This was really annoying. At the beginning I was thinking that maybe I installed too many plugins (using Vundle) or that Vim is not as good as they say.
After a few weeks an
idea come to my mind, I noticed that I have a subconscious habit of
pressing Ctrl+S
when editing a file. But hey Ctrl+S
has
special meaning for Linux terminal, it’s a terminal scroll lock -
basically it freezes program that wants to write to standard output/error.
To unfreeze program you must press Ctrl+Q
.
You can use this Bash one-liner to check how it works:
for i in {1..100}; do echo "$i"; sleep 0.3; done
It still happens from time to time that I press Ctrl+S
while using
Vim (old habits die hard), but now I just press Ctrl+Q
and continue
my work. So far I have never experienced a real Vim freeze again.
Note for Windows users
Terminal scroll lock also works in Windows but there you use
Ctrl+S
both to freeze and to unfreeze a program.