【问题标题】:Vim folding - Close all children recursively under cursorVim折叠 - 在光标下递归关闭所有子项
【发布时间】:2014-03-05 05:25:45
【问题描述】:

我知道如何用zO打开光标下的所有折叠。

但是怎么做反向呢?

我想要像 za 这样的东西,但也需要递归。

PS。我知道有zC,但它关闭了与当前行相关的所有父折叠,我想关闭子。

【问题讨论】:

    标签: vim folding


    【解决方案1】:

    我也有这个需求很长一段时间,我发现最接近的解决方案是使用 zM 递归地关闭所有折叠,然后 zv 在光标上一个位置重新打开行(在关闭折叠之前) .也许有帮助。

    问候。

    【讨论】:

      【解决方案2】:

      注意:这个问题只涉及当前的孩子。即关闭/打开直到当前折叠水平,而不是一直像zCzOzAzMzR

      仅折叠当前子递归

      zx folds:撤消手动打开和关闭的折叠:重新应用 'foldlevel',然后执行“zv”:查看光标线。 还强制重新计算折叠。这在使用时很有用 'foldexpr' 并且缓冲区的更改方式会导致 folds 不能正确更新。

      zc 关闭折叠文本

      我认为您想将两者结合起来:

      1. 在父亲折叠关卡中排队
      2. 按(在正常模式下)zxzc。或重新映射:nnoremap zxc zxzc

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

      仅展开当前子递归

      顺便说一句: 做相反的事情,打开递归所有孩子:zczA

      致谢:https://vi.stackexchange.com/a/16046/29452

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

      Un-/Fold 只选择递归

      或以递归方式打开/关闭所需范围的折叠:

      1. 直观地选择范围。
      2. :foldo(如之前的 link)或 :foldc(如 @majkinetor answer)。

      视觉选择范围的提示:

      ]z jump to end of current open fold.
      [z jump to beginning of current open fold.
      zj moves the cursor to the next fold.
      zk moves the cursor to the previous fold.
      

      在 Vim 中跳过闭合折叠:https://stackoverflow.com/a/9407015/9391770(我还没有测试过)

      【讨论】:

        【解决方案3】:

        我实际上并没有找到这个问题的确切答案,但在某些情况下可能是一些解决方法的命令是:

        • zM: 递归关闭根折叠及其所有子节点
        • zm:将 foldlevel 增加一,即关闭尚未折叠的最内层折叠

        相反的命令是:

        • zR:所有折叠都打开了
        • zr: 将 foldlevel 减一

        【讨论】:

          【解决方案4】:
          1. 关闭父折叠
          2. 选择闭合折叠和下一行
          3. :foldc! - 关闭`<,`> 范围内的所有折叠(阅读:h foldc

          您显然可以映射该序列。

          【讨论】:

          • 如果您通过简单的输入 zC 代替第 3 步,它也可以解决问题,不是吗?
          • 它实际上折叠了子折叠,但它也折叠了父折叠,不是吗?
          • 当你提到:foldclose 时我翻了个白眼,但令我惊讶的是:%foldc! 确实有效。这当然值得一票。
          猜你喜欢
          • 2021-10-03
          • 2011-01-09
          • 2012-05-14
          • 1970-01-01
          • 2020-07-20
          • 2012-06-13
          • 1970-01-01
          • 2012-01-29
          • 1970-01-01
          相关资源
          最近更新 更多