2013-03-01 60 views
3

如何在Gvim上启用折叠系统verilog关键字? 例如Gvim折叠系统verilog关键字对

function 
    Code 
    .... 
    .... 
endfunction 

我想GVIM从功能产生折叠到endfunction可写。我怎么做 ?

回答

3

这是一个自定义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() 

您可能还需要调整你的折叠文本设置,使其尊重意图水平。 Here是关于如何做到这一点的SE问题。

+0

有没有一种方法可以让vim跨越这些关键字?就像'{''}'? – Jean 2013-07-17 20:46:23