4

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

function
   Code
   ....
   ....
endfunction

我希望 Gvim 创建一个从函数到最终函数的折叠。我怎么做 ?

4

1 回答 1

4

这是一个自定义折叠表达式,应该可以满足您的需求。它在每个“函数”之后的行开始折叠,并在每个“结束函数”之前的行结束,否则继承前一行的折叠级别。

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 设置,使其尊重意图级别。是一个关于如何做到这一点的 SE 问题。

于 2013-03-02T11:58:43.067 回答