30.5 终端参数

每个终端都有一组关联参数。这些终端参数(terminal parameters)主要是一种便捷的终端局部变量存储方式,但部分终端参数具有特殊含义。

本节介绍用于读取和修改终端参数值的函数。它们均接受终端或框架作为参数;若传入框架,则使用该框架所属的终端。参数为 nil 时表示使用选中框架所属的终端。

Function: terminal-parameters &optional terminal

该函数返回一个关联列表,列出 terminal 的所有参数及其值。

Function: terminal-parameter terminal parameter

该函数返回 terminal 中参数 parameter(符号)的值。若 terminal 未设置该参数,则返回 nil

Function: set-terminal-parameter terminal parameter value

该函数将 terminal 的参数 parameter 设置为指定的 value,并返回该参数原先的值。

以下是部分具有特殊含义的终端参数列表:

background-mode

终端背景色的分类,取值为 light(浅色)或 dark(深色)。

normal-erase-is-backspace

值为 1 或 0,表示该终端上 normal-erase-is-backspace-mode 是否开启。See DEL Does Not Delete in The Emacs Manual

terminal-initted

终端初始化完成后,该参数会被设为对应终端的初始化函数。

tty-mode-set-strings

若存在,为一串包含转义序列的字符串列表,Emacs 在配置 tty 用于渲染时会输出这些序列。Emacs 仅在初始化终端时发送这些字符串:若希望在已激活的终端上启用某种模式(例如在 tty-setup-hook 中),除将序列加入此列表外,还需通过 send-string-to-terminal 显式输出所需转义序列。

tty-mode-reset-strings

若存在,为一串用于撤销 tty-mode-set-strings 效果的字符串列表。Emacs 在退出、删除终端或挂起自身时会发送这些字符串。