vim 摺疊

Hi,

With this kind of syntax:


FUNCTION

NETWORK
foobar
barfo
foo
bar
NETWORK
foobar
barfo
foo
bar

NETWORK
foobar
barfo
foo
bar
END_FUNCTION



" folding
setlocal foldmethod=expr
setlocal foldexpr=GetFold(v:lnum)

function! GetFold(lnum)
        let currentLine = getline(a:lnum)
        let nextLine    = getline(a:lnum+1)
        if (currentLine =~? '\v^NETWORK') || (currentLine =~? '\v^FUNC')
                return '>1'
        endif
        if (nextLine =~? '\v^NETWORK') || (nextLine =~? '\v^END_FUNC')
                return '<1'
        endif
    return '1'
endfunction

 

參考  參考一

參考2

發佈了20 篇原創文章 · 獲贊 2 · 訪問量 7274
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章