页面提要符号显示在Vim中

时间:2011-03-18 02:46:53

标签: vim folding

关于Vim的一个好处是可以插入一个页面提要符号( Ctrl - L 在插入模式下),它委派打印机开始打印关注新页面。它在文本中显示为^L

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

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

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

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

4 个答案:

答案 0 :(得分:8)

如果在编辑包含页面的文件时没有广泛使用折叠 输入符号,您可以使用单行折叠来标记它们。使用foldexpr 选项可以增加包含页面的行的折叠级别 Feed符号(下面,为了评估foldexpr的速度,我假设该页面 feed符号始终是其行的第一个字符)。实现了 屏幕分离器的所需效果可以使这些折叠自动关闭。

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

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,item fold:)在窗口右侧。

答案 1 :(得分:0)

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

当然,您总是可以执行此命令(可能作为宏)来执行相同的操作:

:%s/^L/----------------- new page here -----------------/

答案 2 :(得分:0)

如果您在vim中将自己的突出显示组定义为^ L符号,那么您可以为包含该字符的所有行设置自定义突出显示的背景。

它不是一个“-----------这里的新页面------------”但是在滚动浏览大量文本时会很容易看到分页符。

我不知道vim实际上告诉你如何设置高亮组,但是......

答案 3 :(得分:0)

我认为你不能。有一个非文本突出显示组可以提供帮助。 另一种方式(有点难看)是在InsertLeave,BufRead和BufSave上编写一些自动命令将^ L扩展为----新页面----反之亦然。

无论如何,你的问题的答案是:如果你只是想改变显示,那就不要了,可能是一个讨厌的插件。