VIM折叠大型日志文件

时间:2016-10-31 07:25:22

标签: vim

我有一个日志文件,我希望能够折叠,具体取决于" *"的数量。 我的日志看起来像这样: 我曾尝试过使用vim的折叠功能,但我不能用#t;让他们完全按照我的意愿工作。我必须在这里做错事。

*** high level command
** mid level
* low level
*low level
** mid level
more of the same...
*** high level
and so on...

如何让vim折叠代码并根据* s的数量确定折叠级别? 谢谢!

1 个答案:

答案 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

将上述内容写入文件并在编辑日志时将其提供。