Kiedy używam emacsa pod GNU Screen, jeśli wywołam Cx Cs, ekran zawiesza się i nie reaguje na żadne naciśnięcia klawiatury.
Nie mogę tego odtworzyć, ale przynajmniej raz dziennie muszę zabić sesję ekranu i uruchomić ją ponownie.
Jak mogę to rozwiązać?
Dzięki
linux
emacs
gnu-screen
simao
źródło
źródło
Odpowiedzi:
CtrlSto znak kontroli przepływu „Pauza transmisji” (XOFF) . Zwykle jest obsługiwany przez sterownik tty lub w tym przypadku ekran. Przeciwieństwem jest XON lub CtrlQ.
Po uruchomieniu Emacsa zwykle przejmuje on większość znaków specjalnych (na przykład nie tylko kontrolę przepływu, ale także zwykłe CtrlC„Przerwanie”).
Użyj, C-a
:flow off
aby wyłączyć kontrolę przepływu dla tego okna ekranu.Potwierdź za pomocą C-a
:info
(poszukaj-flow
w wyskakującym okienku).Jeśli to nie pomoże, spróbuj
stty -ixon
lubstty stop undef
.(Możesz to zrobić z osobnego okna za pomocą
stty -f /dev/tty1
lubstty </dev/tty1
.)W moim systemie (Linux), ekran robi zawiadomienie gdy kontrola przepływu jest wyłączona dla tty. Twój system operacyjny może mieć jednak pewne ograniczenia.
źródło
:flow off
pracował dzięki! w jakiś sposób mogę to zrobić na stałe?defflow
na stronie podręcznikascreen
.defflow off
do~/.screenrc
pliku lub utwórz go w katalogu domowym, jeśli jeszcze nie istnieje. To wystarczyło, aby mój emacs działał poprawnie wscreen
oknie. To podejście należy rozważyć przed ponownym powiązaniem jakichkolwiek kluczy.Miałem te same problemy z zablokowanym ekranem i wieloma innymi, gdy korzystałem z emacsa pod ekranem. Na przykład Ca in emacs, który prowadzi do początku linii, zostaje przechwycony przez ekran i nie działa.
ROZWIĄZANIE:
Utwórz plik .screenrc w swoim katalogu domowym za pomocą:
Następnie za każdym razem, gdy otwierasz nowy ekran zamiast Ca, musisz użyć Cu, aby wprowadzić polecenie nowego ekranu. Pozostałe dwie zmiany dotyczą kilku innych rzeczy, które musiałem zmienić, aby móc bez problemu korzystać z emacsa pod ekranem.
źródło
C-u
jest ważnym kluczem do emacsa. Nie sądzę, że to dobry pomysł, ale pomysł zmiany .screenrc jest lepszą alternatywą.