24.4.5 模式行中的 %-constucts

用作模式行构造的字符串可以使用特定的 %-constructs 来替换各类数据。 下面列出已定义的所有 %-constructs 及其含义。

除 ‘%%’ 以外的任意构造中,你都可以在 ‘%’ 后添加一个十进制整数 以指定最小字段宽度。如果实际内容宽度不足,会填充至该宽度。 纯数字型构造(‘c’、‘i’、‘I’、‘l’)会在左侧补空格, 其他类型则在右侧补空格。

%b

当前缓冲区名称,通过 buffer-name 函数获取。 See Buffer Names

%c

光标所在列号,从窗口左边缘起以 0 开始计数。

%C

光标所在列号,从窗口左边缘起以 1 开始计数。

%e

当 Emacs 的 Lisp 对象内存即将耗尽时显示简短提示,否则为空。

%f

访问的文件名,通过 buffer-file-name 函数获取。 See Buffer File Name

%F

所选框架的标题(仅在窗口系统下)或名称。 See Basic Parameters

%i

当前缓冲区可访问部分的大小,基本等价于 (- (point-max) (point-min))

%I

与 ‘%i’ 类似,但大小以更易读的方式显示,使用 ‘k’ 表示 10^3、 ‘M’ 表示 10^6、‘G’ 表示 10^9 等缩写形式。

%l

光标所在行号,在缓冲区可访问范围内计数。

%M

变量 global-mode-string 的值(默认是 mode-line-misc-info 的一部分)。

%n

当启用收缩显示时显示 ‘Narrow’,否则为空(参见 Narrowing 中的 narrow-to-region)。

%o

窗口在缓冲区(可见部分)中的 滚动进度(travel),即窗口顶部以上文本大小 占窗口外全部文本的百分比,或显示 ‘Top’、‘Bottom’、‘All’。

%p

窗口 顶部 以上的缓冲区文本百分比,或 ‘Top’、‘Bottom’、‘All’。 注意默认模式行构造会将其截断为三个字符。

%P

窗口 底部 以上的缓冲区文本百分比(包含窗口可见文本及顶部以上文本), 若缓冲区顶部在屏幕可见则附加 ‘Top’;或显示 ‘Bottom’、‘All’。

%q

窗口 顶部 以上与 底部 以上的文本百分比,以 ‘-’ 分隔, 或显示 ‘All’。

%s

当前缓冲区所属子进程的状态,通过 process-status 获取。 See Process Information

%z

键盘、终端及缓冲区编码系统的助记符。

%Z

与 ‘%z’ 类似,但额外包含行尾格式信息。

%&

缓冲区已修改时显示 ‘*’,否则显示 ‘-’。

%*

缓冲区为只读时显示 ‘%’(参见 buffer-read-only);
缓冲区已修改时显示 ‘*’(参见 buffer-modified-p);
其余情况显示 ‘-’。See Buffer Modification

%+

缓冲区已修改时显示 ‘*’(参见 buffer-modified-p);
缓冲区为只读时显示 ‘%’(参见 buffer-read-only);
其余情况显示 ‘-’。仅在已修改的只读缓冲区下与 ‘%*’ 不同。 See Buffer Modification

%@

若缓冲区的 default-directory(see 文件名展开相关函数)位于远程主机, 显示 ‘@’,否则显示 ‘-’。

%[

递归编辑层级深度指示(不计入小缓冲区层级):每级编辑显示一个 ‘[’。 See 递归编辑

%]

每个递归编辑层级显示一个 ‘]’(不计入小缓冲区层级)。

%-

足够填满模式行剩余空间的短横线。

%%

字符 ‘%’ 本身—用于在允许 % 构造的字符串中插入字面量 ‘%’。

Obsolete %-Constructs

以下构造不再建议使用。

%m

已废弃;请改用变量 mode-name%m 构造存在缺陷, 当 mode-name 的值为非字符串类型的模式行构造时(例如 emacs-lisp-mode), 会生成空字符串。


emacs

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike