如何在Vim中同时进行Markdown标头折叠和缩进折叠

时间:2019-09-16 17:38:20

标签: vim markdown folding

Vim现在内置了Markdown折叠功能,是的!

我想在Markdown标头上折叠,并且在标头内,在缩进上也折叠。

如何同时具有两者 Markdown标头折叠和缩进折叠方法?

1 个答案:

答案 0 :(得分:1)

在单个窗口中只能使用Vim的standard fold methods之一,但是您仍然可以进行询问。我可以想到以下几个选项:

  • 您可以使用expr方法选项并以此创建自己的custom rules。这可能是获得所需东西的唯一“真正”方法,但这是最复杂的选择。

  • 您还可以在选项卡中使用两个窗口,每个窗口指向同一缓冲区,并为每个拆分在本地设置不同的折叠方法。

  • 最后,您总是可以与自动命令一起破解某些东西。在Vim维基页面on folding中,关于缩进和手动折叠:

    augroup vimrc
      au BufReadPre * setlocal foldmethod=indent
      au BufWinEnter * if &fdm == 'indent' | setlocal foldmethod=manual | endif
    augroup END
    

    该技巧利用了modelines的优势,并且Vim的行为是在读取modeline之前和之后设置变量。请注意,必须设置Vim的nocompatible选项才能使这种技巧起作用。