Изменение размера терминала в Emacs

Скажем, у меня есть окно Emacs (то есть подразделение того, что Emacs называет фреймом), на котором выполняется M-x ansi-term буфер (например, работает zsh) с этим есть ~500 пикселей в ширину. Затем я запускаю несколько команд оболочки, и вывод оборачивается, чтобы соответствовать 500 пиксели.

Скажем, что теперь я расширяю это окно или буфер (например, 1000 пикселей), возможно, потому что я убиваю другие окна в кадре, давая больше места моему ansi-term окно.

Есть ли способ получить более старый вывод в моем ansi-term изменить размер окна, чтобы воспользоваться новым размером окна? (т.е. сделать строки шире и переупорядочить их в соответствии с новым размером окна)?

1 ответ

Решение

Нет, не обычно, потому что программа, которая произвела вывод (возможно, отформатировала), отформатировала себя так, чтобы соответствовать ширине дисплея, который действовал во время его печати и больше не работает при изменении размера.

Тем не менее, если он все еще работает, он получает возможность изменить свой размер (SIGWINCH). Вы можете проверить это, например, с links / elinks браузер. Это реальный "вариант использования" для режима терминала ANSI: программы, использующие "проклятия" или подобные системы для перемещения курсора.

Как отметил @user2491, shell-mode обрабатывает текстовый (основанный на потоке) вывод с переносом слов, за исключением невозможности запуска программ типа "curses". Он предназначен для того, чтобы воспринимать вашу сессию как текстовый файл, а не как "настоящий терминал".

Другие вопросы по тегам