【发布时间】:2021-06-06 12:37:38
【问题描述】:
我希望 vim 根据标题行为我的 markdown 文件创建折叠,例如 特定标题下方的所有行都将被折叠。例如:
# Header
some lines of
text here
## Sub-header
some more lines of
text here # and a comment for some reason
# and an indented comment for good measure
# Another header
A new set of lines with a blank line(!)
for this header
## Another sub-header
yet more text
应该这样折叠:
# Header
+-- 2 lines: - some lines of -------------------
## Sub-header
+-- 3 lines: - some more lines of --------------
# Another header
+-- 3 lines: - A new set of lines --------------
## Another sub-header
yet more text
(我不知道单行折叠会发生什么,所以我很满意 无论 vim 的默认值是什么 - 即如果 vim 不为单行折叠, 这对我来说很好)
我已经尝试为此想出不同的正则表达式...我可以匹配 所有非标题行除了空行:
autocmd FileType markdown setlocal foldexpr=getline(v:lnum)=~'^[^#]'
所以我尝试添加第二个模式来捕获
带有^[^#]\|^\s*$ 变体的空白行(它确实匹配除了
当我使用 / 进行简单搜索时使用非标题行但随后没有折叠
产生了,我不知道为什么(我尝试了不同数量的转义斜线
但无济于事):
" none of these work
autocmd FileType markdown setlocal foldexpr=getline(v:lnum)=~'^[^#]\|^\s*$'
autocmd FileType markdown setlocal foldexpr=getline(v:lnum)=~'^[^#]\\|^\\s*$'
【问题讨论】:
标签: vim