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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.