如何在Gvim中启用系统verilog关键字折叠? 例如
function
Code
....
....
endfunction
我希望Gvim能够创建从功能到功能的折叠。我该怎么做?
答案 0 :(得分:4)
这是一个自定义的foldexpression,可以做你想要的。它在每个“函数”后面的行上开始折叠,并在每个“endfunction”之前的行上结束,否则继承前一行的foldlevel。
function! VimFunctionFoldExpr()
if getline(v:lnum-1) =~ '^\s*function'
return '>1'
elseif getline(v:lnum+1) =~ '^\s*endfunction'
return '<1'
else
return '='
endif
endfunction
要告诉Vim使用此功能,请设置以下内容:
set foldmethod=expr
set foldexpr=VimFunctionFoldExpr()
您可能还想调整foldtext设置,使其尊重意图级别。 Here是关于如何做到这一点的SE问题。