2013-03-01 98 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