43.14 终端输出

终端输出函数用于向文本终端发送内容,或记录发往终端的输出。变量 baud-rate 表示 Emacs 认知中的终端输出速率。

User Option: baud-rate

该变量值为 Emacs 所知的终端输出速率。修改此变量不会改变实际数据传输速度,但会用于填充等计算。

它也会影响文本终端上是滚动部分屏幕还是重绘整个屏幕。图形终端的对应功能参见 See 强制重新显示

值的单位为波特。

若通过网络运行,且网络不同部分波特率不同,Emacs 返回的值可能与本地终端实际速率不一致。部分网络协议会将本地终端速率告知远程主机,使 Emacs 等程序获取正确值,另一些则不会。若 Emacs 获取的值错误,会导致决策非最优,可通过设置 baud-rate 修正。

Function: send-string-to-terminal string &optional terminal

该函数将 string 原样发送至 terminal,字符串中的控制字符效果与终端相关。(如需在终端显示非 ASCII 文本,可使用 显式编码与解码 中介绍的函数进行编码。) 该函数仅作用于文本终端。terminal 可为终端对象、框架,或 nil(表示当前选中框架所属终端)。在批处理模式下,若 terminalnilstring 会发送至标准输出。

该函数的用途之一是在支持下载式功能键定义的终端上设置功能键。例如,在特定终端上可通过如下方式将功能键 4 定义为向前移动 4 个字符(向主机发送 C-u C-f):

(send-string-to-terminal "\eF4\^U\^F")
     ⇒ nil
Command: open-termscript filename

该函数用于打开 终端脚本文件(termscript file),记录 Emacs 发往终端的所有字符,返回 nil。终端脚本文件可用于排查 Emacs 乱屏问题,此类问题多由错误的 Termcap 条目或终端选项设置不当导致,而非 Emacs 本身漏洞。确定实际输出的字符后,即可可靠判断其是否符合当前使用的 Termcap 规范。

(open-termscript "../junk/termscript")
     ⇒ nil

传入参数 nil 可关闭终端脚本文件。

另请参见 记录输入 中的 open-dribble-file