我有一个日志文件,我希望能够折叠,具体取决于" *"的数量。 我的日志看起来像这样: 我曾尝试过使用vim的折叠功能,但我不能用#t;让他们完全按照我的意愿工作。我必须在这里做错事。
*** high level command
** mid level
* low level
*low level
** mid level
more of the same...
*** high level
and so on...
如何让vim折叠代码并根据* s的数量确定折叠级别? 谢谢!
答案 0 :(得分:2)
我不确定我是否理解你希望如何使用它,但你可能会尝试这样的事情:
function! MyFoldLevel(lnum)
return 4 - strlen(matchstr(getline(a:lnum), '\m^\**'))
endfunction
setlocal foldexpr=MyFoldLevel(v:lnum)
setlocal foldmethod=expr
setlocal foldlevel=0
setlocal foldcolumn=4
setlocal foldenable
将上述内容写入文件并在编辑日志时将其提供。