(Emacs Lisp)源代码中的^L是什么意思?

31

我在(主要是 Emacs Lisp)源代码中多次看到 ^L,看起来像是较大逻辑组的分隔符。这是它们的真实目的吗?如果是,我该如何使用它们?是否有内置在 Emacs 中利用它们的功能?


1
没有任何答案提到^L只是默认值。你可以设置一个缓冲区本地的page-delimiter正则表达式,以任何你想要的方式来获取页面导航功能,使用一些自定义值。 - phils
这是换页符,通常表示为\x0c\f - user3064538
5个回答

40

Emacs命令backward-pageforward-page(C-x [C-x ])利用在代码中放置的分隔符^L等。

这种习惯并没有像Emacs-lisp语言那样广泛传播,但大多数编程语言都将^L视为空格,因此如果您喜欢这个想法,可以在您喜欢的语言中使用这些分隔符。 您可以使用C-q C-l键来输入自己的^L


30

这是一个分页符

[...]

页面分隔符也可以用于源代码段的逻辑分隔。Emacs有使用页面分隔符的命令和键绑定,例如“forward-page”(C-x ]C-])、“backward-page”(C-x [C-[)和“narrow-to-page”(C-x n p)。其他函数,如“mark-page”,则操作页面内容。另请参见PageMode。


8
对于那些记得线打印机的人来说,它也被称为“换页符”字符。 - pavium
1
顺便说一下,它们也在RFC(.txt文件)中有提到,但是火狐浏览器没有显示出来。 - andre-r

7

当浏览一个包含多个“页面”的大文件时,函数“narrow-to-page” (C-x n p) 非常方便: 它隐藏了不属于当前页面的所有内容。例如,在查找函数名称以查看调用者时,只会在该部分中找到匹配项,因此您可以真正专注于理解狭窄的区域。

使用widen (C-x n w) 再次查看整个文件。


6

如果你想改变 Control-l 字符的外观,比如使用高亮行而不仅仅是 ^L,请参见 Pretty Control-L


3

这确实是一个分页符,早期的线式打印机会跳到下一页或下一张纸。在代码方面,它并没有实际作用;它只是将代码分成更大的部分。Emacs有方便的命令可以跳转到下一个和上一个“页面”,插入这些字符可以利用这个功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接