不可见文本的变量定义

时间:2018-11-16 16:00:21

标签: emacs

我正在阅读Elisp手册中有关Invisible Text的内容。它定义了变量my-symbol来添加或不添加...来代替隐藏的文本。

 ;; If you want to display an ellipsis:
 (add-to-invisibility-spec '(my-symbol . t))
 ;; If you don't want ellipsis:
 (add-to-invisibility-spec 'my-symbol)

但是,我不明白。您不使用(setq my-symbol "...")的情况如何。 (setq my-symbol "...")'(my-symbol . t)之间在语法上有什么区别。

这可能是一个愚蠢的问题,但是我不是Lisp方面的专家或专家,我正在使用Emacs配置。

1 个答案:

答案 0 :(得分:1)

如果您要进行(setq my-symbol "..."),则只需将变量my-symbol的值设置为该字符串。

Elisp手册描述的是规范的形式,即Lisp数据结构(在这种情况下为列表),导致缓冲区文本的某些部分不可见。这是因为Emacs自动处理了这样的规范。

就像@jenesaisquoi在评论中说的那样,是Emacs的C代码自动执行了缓冲区不可见性规范。要使用该规范,请参阅Elisp手册的节点Invisible Text