15

Vim 的优点之一是可以插入换页符号(在插入模式下Ctrl- L),它代表打印机开始在新页面上打印以下内容。它显示为^L文本。

是否可以将此符号显示为其他内容,例如

----------------- new page here -----------------  

所以在滚动浏览文本页面时它会更明显吗?

也就是说,无需从源代码重建 Vim。

4

4 回答 4

9

如果在编辑那些包含换页符号的文件时没有大量使用折叠,则可以使用单行折叠将它们标记出来。

使用该foldexpr选项,可以增加包含换页符号的行的折叠级别。(这里,为了评估的效率foldexpr,我假设换页符号总是在它们的行上的第一个字符。)为了达到屏幕范围分隔符的预期效果,这些折叠可以自动关闭。

以下函数根据上述思想配置折叠。调用它(手动或通过自动命令)以在当前缓冲区中启用页面馈送符号折叠。

function! FoldPageFeed()
    setl foldmethod=expr
    setl foldexpr=getline(v:lnum)[0]==\"\\<c-l>\"
    setl foldminlines=0
    setl foldtext='---\ new\ page\ '
    setl foldlevel=0
    set foldclose=all
endfunction

生成的分隔符显示为文本--- new page ,后跟窗口右侧的连续填充字符字符串(请参阅项目:help fillchars下的fold:)。

于 2011-08-09T13:54:33.550 回答
1

我不认为你可以。有一个非文本突出显示组可以提供帮助。另一种方法(有点难看)是编写一些自动命令来扩展 ^L到,---- new page ----反之亦然。InsertLeaveBufReadBufSave

无论如何,如果您只想更改显示,您的问题的答案是否定的,并且可能是使用讨厌的插件。

于 2011-04-11T13:32:35.953 回答
0

如果可以的话,如果知道我非常信任的工具和朋友 Vim 可能会歪曲文本文件,我会感到不舒服。

当然,你总是可以执行这个命令(也许作为一个宏)来做同样的事情:

:%s/^L/----------------- new page here -----------------/
于 2011-03-18T02:56:47.180 回答
0

如果您在 Vim 中将自己的高亮组定义为只是 ^L 符号,那么您可以为包含该字符的所有行自定义高亮背景。

它不完全是---- new page here ----,但它会使分页符在滚动大量文本时很容易看到。

我对 Vim 的了解还不够,无法真正告诉你如何设置高亮组……</p>

于 2011-03-18T05:56:59.740 回答