本节介绍 Emacs 在用户输入右括号时,自动高亮显示匹配的左括号的机制。
该变量的值应为一个无参数函数,每当输入具有右括号语法的字符时都会调用此函数。
blink-paren-function 的值可以为 nil,此时不会执行任何操作。
若该变量为 nil,则 blink-matching-open 不执行任何操作。
该变量指定搜索匹配括号时的最大扫描距离,超出此距离则放弃搜索。
该变量指定高亮显示匹配括号的持续秒数。使用零点几秒通常效果较好,但默认值为 1,此值在所有系统上均可正常工作。
该函数是 blink-paren-function 的默认值。它假定点位于一个右括号语法字符之后,并对匹配的左括号短暂应用对应的视觉效果。如果该字符不在当前屏幕上,则会在回显区显示其所在上下文。为避免过长延迟,此函数的搜索范围不会超过 blink-matching-paren-distance 个字符。
下面是显式调用该函数的示例。
(defun interactive-blink-matching-open () "Indicate momentarily the start of parenthesized sexp before point." (interactive)
(let ((blink-matching-paren-distance
(buffer-size))
(blink-matching-paren t))
(blink-matching-open)))