Vim зависает внутри Tmux

110

Я использую разделенные панели в tmux - одна - vim, другая - оболочка. Иногда, примерно раз в день, vim зависает. Я могу перемещаться между панелями, выполнять любые команды tmux, просто vim ни на что не реагирует. Это происходит только с tmux. Мое единственное решение на данный момент - убить эту панель и создать новую.

Ондрей Слинтак
источник
6
Со мной такого никогда не случалось, и я так широко использовал tmux + Vim. Это не означает, что это не может случиться с вами, но это означает, что вам придется попытаться определить более точно, когда это случится, чтобы выяснить, почему. Соответствующая информация - это то, какой терминал вы используете. Одна идея: вы не просто случайно нажали Ctrl + S в окне Vim? В этом случае: нажмите Ctrl + Q, чтобы «разморозить» .
Даниэль Андерссон
Для пояснения я использую эмулятор терминала Ubuntu 12.10, tmux, zsh и gnome. Мой префикс tmux восстанавливается до ctrl + s. Если я нажму prefix + ctrl + s, vim зависнет. Ctrl + Q без префикса размораживает его. Меня удивляет, почему этого не происходит в оболочке.
Ондрей Слинтак
Мне кажется, что то же самое происходит со мной, когда я сохраняю и нажимаю, ^ zчтобы потом быстро переместить vim на задний план.
svenper

Ответы:

209

Возможно, вы нажали Ctrl+ S, что отключает управление потоком в терминалах и не позволяет терминалу принимать ввод. Он включается нажатием Ctrl+ Q.

Даниэль Андерссон
источник
6
Когда вы только начинаете использовать редакторы vim / Terminal в качестве основного редактора, это очень распространенная проблема. Позже у вас будет: wq распространяться по всем вашим документам (или ZZ, я не осуждаю) и вы будете чувствовать себя глупо.
Роб
14
Удивительно, как вы правильно догадались о проблеме по такому расплывчатому описанию. Спасибо!
Д.Бедренко
7
Святой ...! У меня была эта проблема в течение многих лет, и я никогда не искал решения. Этот ответ был первым решением, которое я нашел, и оно буквально заняло у меня 3 секунды ... Все эти часы были потрачены впустую, и у вас было решение всего через пару секунд. Хотелось бы, чтобы я вас больше голосовал (и сам себя отрицал). Спасибо!
Сименджо
В другой раз у вас может возникнуть эта проблема, когда вы переключаетесь между редакторами (например, emacs и vim). У них разные команды «сохранить», мышечная память сбивает с толку и, следовательно, зависает.
Уткарш Синха
5
и если это происходит дважды (удаленный сеанс tmux с префиксом Cq): введите Cltr-q, затем :и введите tmux send-keys C-q:!
Пасхалис
2

Для меня это оказалось проблемой gpm. Бегать:

sudo service gym restart

Смотрите здесь для связанной ошибки.

deuberger
источник