调整Emacs中的终端大小

时间:2012-09-28 14:59:31

标签: shell emacs ansi-term

假设我有一个Emacs窗口(即Emacs称之为框架的细分)运行M-x ansi-term缓冲区(例如,运行zsh),宽度为~500像素。然后我运行几个shell命令,输出被包装以适合那些500像素。

假设我现在使这个窗口或缓冲区更宽(例如1000像素),可能是因为我杀死了帧中的其他窗口,为我的ansi-term窗口提供了更多空间。

有没有办法让我的ansi-term窗口中的旧输出调整大小以利用新的窗口大小? (即根据新窗口尺寸使线条更宽并重新包裹它们?)

1 个答案:

答案 0 :(得分:4)

不,通常不会,因为生成输出的程序(可能有)将自身格式化为适合打印时生效的显示宽度,并且在调整大小时不再运行。

但是,如果 仍然在运行,它会获得调整自身大小的选项(SIGWINCH)。您可以使用例如links / elinks浏览器。这是ANSI终端模式的真正“用例”:使用“curses”或类似系统移动光标的程序。

正如@ user2491指出的那样,shell-mode确实处理了带有自动换行的基于文本(基于流)的输出,但却无法运行“curses”类型的程序。它的设计目的是让您的会话更像文本文件,而不像“真正的终端”。