I’m using split panes in tmux – one being vim, the other being a shell. Sometimes, around once a day, vim freezes. I can move between panes, perform any tmux commands, just vim doesn’t react to anything. This happens only with tmux. My only solution for now is to kill that pane and create a new one.
Asked
Active
Viewed 3.9k times
137
-
7This has never happened to me, and I have used tmux+Vim in that way extensively. This does not mean it cannot happen to you — but it means you will have to try to more precisely locate _when_ it happens to try to figure out why. Relevant information is what terminal you are using. One idea: you are not just accidentally hitting Ctrl+S in the Vim window? In that case: [press Ctrl+Q to "unfreeze"](https://www.google.se/search?q=ctrl%2Bs+linux). – Daniel Andersson Feb 17 '13 at 12:07
-
Just to clarify, I use Ubuntu 12.10, tmux, zsh and gnome terminal emulator. My tmux prefix is rebound to ctrl+s. If I hit prefix + ctrl+s, vim freezes. ctrl+q without prefix unfreezes it. It puzzles me why this doesn't happen in shell though. – Ondrej Slinták Feb 17 '13 at 12:33
-
The same thing seems to happen to me when I save and press `^` `z` to put vim into the background too quickly afterwards. – gnucchi Jun 08 '17 at 14:56
3 Answers
262
You might have hit Ctrl+S, which turns off flow control in terminals and stops the terminal from accepting input. It is reenabled by pressing Ctrl+Q.
Daniel Andersson
- 23,895
- 5
- 57
- 61
-
7When you're just starting to use vim/terminal editors as your main editor, this is a very common problem. Later on, you'll end up having :wq spread throughout all your documents (or ZZ, I don't judge) and feel silly. – Rob Jul 29 '13 at 15:14
-
20Amazing how you correctly guessed the problem from such such a vague description. Thanks! – DBedrenko May 30 '14 at 08:00
-
8Holy ...! I've been having this issue for years, and never actually searched for a solution. This answer was the first solution I found, and it literally took me 3 seconds... All those hours wasted, and you had the solution just a couple of seconds away. I wish I could upvote you more (and downvote myself). Thanks! – simendsjo Oct 10 '14 at 21:29
-
Another time you might have this issue is when you're switching between editors (emacs and vim, for instance). They have different "save" commands, muscle memory confuses and hence the freezing. – Utkarsh Sinha Nov 11 '14 at 14:26
-
This being the accepted answer shows that the problem has nothing to do with tmux, but rather terminal flow control. Another way vim may appear frozen but tmux fine is to accidentally type a very processing-heavy command in normal mode. Ctrl-C does the trick, interrupting the command. – Brian Duncan Mar 04 '15 at 04:34
-
7and if it happens to be twice unlucky (a remote tmux session with C-q as prefix): Type `Cltr-q`, then `:`, and enter in tmux: `send-keys C-q`! – Paschalis Apr 14 '16 at 20:24
-
Thanks, you're my savior! I was close to really mad about all these sporadic freezes! :) – denied Dec 07 '17 at 13:42
-
I only have this problem on Windows, because I don't use any other editor on Linux! I guess I'm not really portable. – jpaugh Oct 09 '18 at 22:36
-
1Wow!!!. You have opened my eyes. I had this issue for years and thought that the terminal hangs due to CPU/Memory resource issue. If I remote login, then I think it is a network issue. In all such occurrences, I just kill the terminal forcefully and start a new one. – RoboAlex Feb 04 '19 at 08:19
2
For me, this turned out to be a gpm problem. Run:
sudo service gym restart
See here for the related bug.
Hamid Rouhani
- 185
- 1
- 7
deuberger
- 143
- 5
1
My story involved following
alias doodle='(f=$(mktemp); vim $f; echo $f)' # alias to quick edit a new file with whatever name
Now that I use this alias diff -u $(doodle) $(doodle) vim said Vim: Warning: Output is not to a terminal.
After that the terminal froze. Usual keys wouldn't help, e.g. Ctrl+Q, Ctrl-C, etc.
Pressing ZQ helped. It would exit the vim that you stuck in, but whos UI you can't see.
I guess vim needs some flag (not figured out yet which) to show itself on screen when being executed from bach mode.
I hope it helps someone.
Yuri Pozniak
- 161
- 1
- 3