Когда я использую emacs в GNU Screen, при вызове Cx Cs экран зависает и не реагирует на ввод с клавиатуры.
Я не могу воспроизвести это, но по крайней мере один раз в день мне приходится убивать сеанс экрана и перезапускать его.
Как я могу решить это?
Благодарность
linux
emacs
gnu-screen
Симао
источник
источник
Ответы:
CtrlSявляется символом управления потоком «Приостановка передачи» (XOFF) . Обычно он обрабатывается драйвером tty или в данном случае Screen. Его противоположность XON или CtrlQ.
Когда вы запускаете Emacs, он обычно принимает большинство специальных символов (например, не только управление потоком, но и обычное CtrlC«Прерывание»).
Используйте C-a
:flow off
для отключения управления потоком для этого окна экрана.Подтвердите с помощью C-a
:info
(ищите-flow
во всплывающем окне).Если это не поможет, попробуйте
stty -ixon
илиstty stop undef
.(Вы можете сделать это из отдельного окна, используя
stty -f /dev/tty1
илиstty </dev/tty1
.)В моей системе (Linux) Screen не замечает, когда управление потоком отключено для tty. Ваша ОС может иметь некоторые ограничения.
источник
:flow off
работал. Благодарность! В любом случае, я могу сделать это постоянным?defflow
на странице руководстваscreen
.defflow off
в свой~/.screenrc
файл или создайте ее в своем домашнем каталоге, если она еще не существует. Этого было достаточно, чтобы мои emacs могли нормально работать вscreen
окне. Этот подход следует рассмотреть перед повторным связыванием любых ключей.У меня были такие же проблемы с заблокированным экраном и многие другие при использовании emacs под экраном. Например, Ca в emacs, который приводит вас в начало строки, перехватывается экраном и не работает.
РЕШЕНИЕ:
Создайте файл .screenrc в вашем домашнем каталоге со следующим:
Затем каждый раз, когда вы открываете новый экран вместо Ca, вам нужно использовать Cu для ввода новой экранной команды. Два других изменения касаются еще нескольких вещей, которые мне нужно было изменить, чтобы можно было без проблем использовать emacs под экраном.
источник
C-u
это важный ключ для Emacs. Я не думаю, что это хорошая идея, но идея изменения .screenrc - лучшая альтернатива.