#emacs #putty #gnu-screen
#emacs #putty #gnu-screen
Вопрос:
Вот моя проблема — надеюсь, я смогу объяснить это достаточно хорошо:
Я использую Putty в Windows, а затем запускаю сеанс gnu screen. Я могу запустить несколько команд оболочки в putty, а затем на том же экране запустить emacs -nw. Проблема в том, что при выходе из emacs буфер обратной прокрутки (в putty) испорчен. То, что было на экране, когда я запустил emacs, исчезло, и если я прокручиваю вверх, я вижу различные артефакты экрана (например, экранную «панель» Внизу и т. Д.).
Если я не использую screen и просто открываю emacs -nw непосредственно из putty, вся моя история все еще находится в буфере при выходе из emacs.
Аналогично, если я использую screen и использую vi на экране вместо emacs, когда я выхожу из vi, все там.
Это просто какое-то странное взаимодействие с putty и emacs? Есть ли способ это исправить?
Комментарии:
1.
screen
конечно, у него есть своя функция обратной прокрутки. Ctrl-a esc.2. Да — когда я использую это, вся история полностью исчезает. Так что я могу увидеть немного, если я прокручиваю вверх с помощью колесика мыши или панели справа, или ничего из этого, если я прокручиваю вверх с помощью прокрутки экрана (я могу просто прокручивать вверх вечно, и все остается пустым).
Ответ №1:
Вы пробовали устанавливать размер буфера обратной прокрутки на что-то другое, кроме значения по умолчанию? прокрутка
В .screenrc поместите эту строку:
defscrollback 10000
Вот мой config .screenrc. Пытался воспроизвести эту проблему, но безуспешно… вы можете попробовать, если это исправит для вас:
termcapinfo xterm* ti@:te@
startup_message off
vbell off
autodetach on
altscreen on
shelltitle "$ |bash"
defscrollback 10000
defutf8 on
nonblock on
hardstatus alwayslastline
hardstatus string '%{= kw}[ %{= kb}%H%{= kw} ][%= %{= kw}%?%-Lw%?%{= kW}%n*%f %t%?%?%{= kw}%?% Lw%?%?%= ][ %{r}%l%{w} ]%{w}[%{r} %d/%m/%y %C %A %{w}]%{w}'
bind 'q' quit
В конце я бы также посоветовал вам ознакомиться с tmux -> http://tmux.sourceforge.net /
КСТАТИ. надеюсь, вы используете новейшую версию PuTTY правильно? 🙂 -> http://puttytray.goeswhere.com /
Ответ №2:
Похоже, Emacs и Screen наступают друг другу на пятки из-за функции альтернативного экрана вашего терминала.
Я не могу воспроизвести эту проблему, но, возможно, вам поможет следующее в вашем ~/.screenrc:
altscreen on
Ответ №3:
Рассматривали ли вы возможность использования tmux в качестве альтернативы GNU screen?
Комментарии:
1. Я слышал об этом много хорошего, но, во-первых, он не установлен на работе — я, вероятно, мог бы заставить их это сделать, но тогда я бы изучал что-то совершенно новое (самая большая проблема — мышечная память переключения окон, разделения окон и т. Д.), Когда я совершенно доволенэкран в стороне от этой проблемы.
2. Достаточно справедливо. Как минимум, вы можете попросить установить tmux, чтобы вы могли быстро проверить, решает ли он вашу проблему, и если это не так, вам даже не нужно думать о переключении.