Editor 系统verilog关键字对上的Gvim折叠

Editor 系统verilog关键字对上的Gvim折叠,editor,system-verilog,vim,Editor,System Verilog,Vim,如何在Gvim中启用对系统verilog关键字的折叠? 比如说 function Code .... .... endfunction 我想Gvim创建一个从函数到endfunction的折叠。我该怎么做呢?这里有一个自定义的折叠表达式,它可以满足您的需要。它在每个“函数”后面的行上开始折叠,在每个“endfunction”前面的行上结束折叠,否则将继承前一行的折叠级别 function! VimFunctionFoldExpr() if getline(v:lnum

如何在Gvim中启用对系统verilog关键字的折叠? 比如说

function
   Code
   ....
   ....
endfunction

我想Gvim创建一个从函数到endfunction的折叠。我该怎么做呢?

这里有一个自定义的折叠表达式,它可以满足您的需要。它在每个“函数”后面的行上开始折叠,在每个“endfunction”前面的行上结束折叠,否则将继承前一行的折叠级别

function! VimFunctionFoldExpr()
    if getline(v:lnum-1) =~ '^\s*function'
        return '>1'
    elseif getline(v:lnum+1) =~ '^\s*endfunction'
        return '<1'
    else
        return '='
    endif
endfunction

您可能还需要调整foldtext设置,使其符合意图级别。是一个关于如何做到这一点的SE问题。

有没有办法让vim跳过这些关键字?就像
{
}
set foldmethod=expr
set foldexpr=VimFunctionFoldExpr()