vim zawiesza się w tmux

110

Używam podzielonych paneli w tmux - jedna to vim, druga to powłoka. Czasami mniej więcej raz dziennie vim zawiesza się. Mogę poruszać się między panelami, wykonywać dowolne polecenia tmux, po prostu vim na nic nie reaguje. Dzieje się tak tylko z tmux. Moim jedynym rozwiązaniem na razie jest zabicie tego panelu i utworzenie nowego.

Ondrej Slinták
źródło
6
Nigdy mi się to nie zdarzyło i używałem tmux + Vima w ten sposób. Nie oznacza to, że nie może ci się przydarzyć, ale oznacza, że ​​będziesz musiał spróbować dokładniej zlokalizować, kiedy to się stanie, aby dowiedzieć się, dlaczego. Istotną informacją jest używany terminal. Jeden pomysł: nie tylko przypadkowo uderzasz Ctrl + S w oknie Vima? W takim przypadku: naciśnij Ctrl + Q, aby „odmrozić” .
Daniel Andersson
Żeby to wyjaśnić, używam emulatora terminalu Ubuntu 12.10, tmux, zsh i gnome. Mój prefiks tmux jest odbijany do ctrl + s. Jeśli kliknę prefiks + ctrl + s, vim zawiesza się. ctrl + q bez prefiksu odblokowuje go. Zastanawia mnie jednak, dlaczego tak się nie dzieje w skorupkach.
Ondrej Slinták
Wydaje mi się, że to samo dzieje się, gdy zapisuję i naciskam, ^ zaby później zbyt szybko umieścić vima w tle.
svenper

Odpowiedzi:

208

Możliwe, że nacisnąłeś Ctrl+ S, co wyłącza kontrolę przepływu w terminalach i powstrzymuje terminal przed akceptacją danych wejściowych. Można go ponownie włączyć, naciskając Ctrl+ Q.

Daniel Andersson
źródło
6
Kiedy zaczynasz używać edytorów vim / terminal jako głównego edytora, jest to bardzo częsty problem. Później skończysz mieć: wq rozłożone na wszystkie twoje dokumenty (lub ZZ, nie sądzę) i poczujesz się głupio.
Rob
14
Zadziwiające, jak poprawnie odgadłeś problem na podstawie tak niejasnego opisu. Dzięki!
DBedrenko
7
Święty ... Problem ten występuje od lat i nigdy tak naprawdę nie szukałem rozwiązania. Ta odpowiedź była pierwszym rozwiązaniem, które znalazłem i zajęło mi dosłownie 3 sekundy ... Wszystkie te godziny zmarnowane, a rozwiązanie było już za kilka sekund. Chciałbym móc cię bardziej głosować (i głosować sam). Dzięki!
simendsjo,
Innym razem możesz mieć ten problem, kiedy przełączasz się między edytorami (na przykład emacs i vim). Mają różne polecenia „zapisz”, pamięć mięśni jest myląca, a zatem zamrożona.
Utkarsh Sinha
5
a jeśli zdarza się dwa razy pecha (zdalna sesja tmux z Cq jako przedrostek): Typ Cltr-q, a następnie :, a następnie wprowadź w tmux: send-keys C-q!
Paschalis
2

Dla mnie okazało się to problemem gpm. Biegać:

sudo service gym restart

Zobacz tutaj powiązany błąd.

deuberger
źródło