vimが折り畳まれた/折り畳まれた線を表示する方法を変更する方法


5

vimが折りたたまれた/折り畳まれた行を表示する方法を変更するにはどうすればよいですか?行の末尾に隠し行番号を表示しますが、先頭には表示しません。私はvim wikiをグーグル検索して検索しましたが、ヒントは見つかりませんでした。

もっときれいなvim fold形式

折りたたみスタイルは、写真の右側に似ています。


:help fold-foldtext」を確認した後、Vimコアコードにパッチを適用しなければ、あなたが望むものが可能になるとは思いません。
ヘプタイト

回答:


8

このブログ投稿で説明されている方法で遊ぶことができます:

function! NeatFoldText()
    let line = ' ' . substitute(getline(v:foldstart), '^\s*"\?\s*\|\s*"\?\s*{{' . '{\d*\s*', '', 'g') . ' '
    let lines_count = v:foldend - v:foldstart + 1
    let lines_count_text = '| ' . printf("%10s", lines_count . ' lines') . ' |'
    let foldchar = matchstr(&fillchars, 'fold:\zs.')
    let foldtextstart = strpart('+' . repeat(foldchar, v:foldlevel*2) . line, 0, (winwidth(0)*2)/3)
    let foldtextend = lines_count_text . repeat(foldchar, 8)
    let foldtextlength = strlen(substitute(foldtextstart . foldtextend, '.', 'x', 'g')) + &foldcolumn
    return foldtextstart . repeat(foldchar, winwidth(0)-foldtextlength) . foldtextend
endfunction

set foldtext=NeatFoldText()

あり、多くの変異体は実際に。そして、まさにその主題についてのヴィムキャストさえあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.