【问题标题】:Vim folding every line ending in { but not classesVim 折叠以 { 结尾的每一行,但不折叠类
【发布时间】:2013-12-07 03:55:26
【问题描述】:

我打算折叠所有以{ 结尾的行,但不折叠类。到目前为止,我想出了这个命令:

:%g/.\{-}\(class\)\@!.*{$/normal! zf%

但这也将匹配包含 class 的行。

【问题讨论】:

    标签: regex vim regex-negation folding


    【解决方案1】:

    有几个问题:

    1. 来自:help /\@!:“您不能使用“\@!”来查找匹配位置之前的不匹配项”。使用\@<!,在其中包含可能的字符,并丢弃无用的(因为它没有锚定)非贪婪的第一次匹配。
    2. :global 命令将光标置于匹配行的第一列,因此添加$ 以使% 始终有效。
    3. 随后的内折叠必须在外折叠打开的情况下定义:zv。

    尔格:

    :%g/\%(class.*\)\@<!{$/normal! $zvzf%
    

    【讨论】:

      猜你喜欢
      • 2013-01-16
      • 1970-01-01
      • 2011-07-01
      • 2012-06-13
      • 2011-04-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2011-04-09
      相关资源
      最近更新 更多