43.13.1 输入模式

Function: set-input-mode interrupt flow meta &optional quit-char

该函数设置读取键盘输入的模式。若 interruptnil,Emacs 使用输入中断;若为 nil,则使用 CBREAK 模式。默认设置与系统相关,部分系统无论如何指定均始终使用 CBREAK 模式。

当 Emacs 直接与 X 服务通信时,会忽略该参数并按自身通信方式使用中断。

flownil,Emacs 对终端输出使用 XON/XOFFC-qC-s)流控,该设置仅在 CBREAK 模式下生效。

参数 meta 控制对 127 以上输入字符编码的支持。若 metat,Emacs 会在按需解码前将第 8 位置 1 的字符转为 Meta 字符(see 终端 I/O 编码);若为 nil,则忽略第 8 位(终端将该位用作校验位时必需如此);若为符号 encoded,Emacs 先以完整 8 位解码字符,再将解码后单字节字符中第 8 位置 1 的转为 Meta 字符;若为其他值,Emacs 在解码前后均完整使用 8 位输入,适用于使用 8 位字符集且不以第 8 位表示 Meta 修饰键的终端。

quit-charnil,则指定用于退出操作的字符,通常为 C-g。See 退出

函数 current-input-mode 返回 Emacs 当前使用的输入模式设置。

Function: current-input-mode

该函数返回当前读取键盘输入的模式,返回一个列表,格式与 set-input-mode 参数对应,为 (interrupt flow meta quit),其中:

interrupt

nil 表示 Emacs 使用中断驱动输入;为 nil 则使用 CBREAK 模式。

flow

nil 表示 Emacs 对终端输出使用 XON/XOFFC-qC-s)流控,仅在 interruptnil 时有效。

meta

t 表示 Emacs 在解码前将输入字符第 8 位视为 Meta 位;为 encoded 表示在解码后单字节字符中识别 Meta 位;为 nil 表示清除所有输入字符第 8 位;其他值表示 Emacs 直接使用完整 8 位作为基础字符编码。

quit

Emacs 当前用于退出的字符,通常为 C-g