Изменение размера терминала в Emacs
Скажем, у меня есть окно Emacs (то есть подразделение того, что Emacs называет фреймом), на котором выполняется M-x ansi-term
буфер (например, работает zsh
) с этим есть ~500
пикселей в ширину. Затем я запускаю несколько команд оболочки, и вывод оборачивается, чтобы соответствовать 500
пиксели.
Скажем, что теперь я расширяю это окно или буфер (например, 1000
пикселей), возможно, потому что я убиваю другие окна в кадре, давая больше места моему ansi-term
окно.
Есть ли способ получить более старый вывод в моем ansi-term
изменить размер окна, чтобы воспользоваться новым размером окна? (т.е. сделать строки шире и переупорядочить их в соответствии с новым размером окна)?
1 ответ
Нет, не обычно, потому что программа, которая произвела вывод (возможно, отформатировала), отформатировала себя так, чтобы соответствовать ширине дисплея, который действовал во время его печати и больше не работает при изменении размера.
Тем не менее, если он все еще работает, он получает возможность изменить свой размер (SIGWINCH
). Вы можете проверить это, например, с links
/ elinks
браузер. Это реальный "вариант использования" для режима терминала ANSI: программы, использующие "проклятия" или подобные системы для перемещения курсора.
Как отметил @user2491, shell-mode
обрабатывает текстовый (основанный на потоке) вывод с переносом слов, за исключением невозможности запуска программ типа "curses". Он предназначен для того, чтобы воспринимать вашу сессию как текстовый файл, а не как "настоящий терминал".