【问题标题】:Is it possible to display page feed symbols differently in Vim?是否可以在 Vim 中以不同方式显示页面提要符号?
【发布时间】:2011-07-17 21:06:10
【问题描述】:

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

是否可以让这个符号显示为其他东西,例如

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

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

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

【问题讨论】:

  • 为什么这被选为题外话?据我所知,Vim 非常适合“程序员常用的软件工具”类别(参见常见问题解答)。
  • Vim 已经广受好评(见this),但不知道它的人会在第一页出现问题时投票关闭。

标签: vim folding


【解决方案1】:

如果您在编辑这些文件时没有大量使用折叠 包含换页符号,您可以使用单行折叠来标记 他们出去。

使用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: 项下)。

【讨论】:

  • @Rook:如果您对此解决方案有任何问题或想进一步定制它,请告诉我。
  • @ib - 不,没有任何问题。只是昨天没看到。但是现在我做到了(看到它),让我说(非常感谢)你 - 你用这个让我过得很开心! :)
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    如果可以的话,我会很不自在地知道我非常信任的工具和朋友 Vim 可能会歪曲文本文件。

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

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

    【讨论】:

    • 这显然会改变文件。恐怕 Rook 只想“显示”页面提要(就像“设置列表”所做的那样)
    • @wallyk - 换行符是一种特殊字符。您不能以这种方式真正搜索和替换它们。如果可以,那将意味着它们只是“^L”文本。
    • ^L 是一个换页符,是的,您可以像任何其他字符一样搜索和替换它。尽管在某些情况下,换行符和回车会变得很棘手。
    • @wallyk - 好吧,好吧......我会很高兴被证明是错误的。在任何情况下,给定的示例都不起作用。
    • 您输入的是Ctrl-L 还是(插入符号)然后是(ell)?前者是必要的,尽管后者在屏幕上看起来相同。
    【解决方案4】:

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

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

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

    【讨论】:

    • 这也是一种方法。不幸的是,虽然我相信已经有一个突出显示组(SpecialKey 或 NonText,永远无法区分它们),但问题是无论您将其放入何种狂野的颜色,它仍然在文本中不可见,太小了。
    • 我想如果你要设置背景颜色,你可以让它突出整行,类似于状态行
    • 我做不到。也许我做错了什么。
    • 可能与此类似? [链接] (vim.1045645.n5.nabble.com/…)
    猜你喜欢
    • 2021-11-09
    • 2018-02-10
    • 2011-04-18
    • 2011-05-20
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多