vim-users.jp

Hack #190: テキストを折り畳む – 表示編

Posted at 2010/12/22
このエントリーをはてなブックマークに追加

fold 機能によって折り畳まれた部分の表示は、カスタマイズすることができます。

'foldtext' オプション

折り畳まれた行に表示されるテキストを、'foldtext' でカスタマイズすることができます。これは 'foldexpr' のように、表示するテキストを生成する式を指定します。式の中では以下の変数を参照できます。

変数 意味
v:foldstart 折り畳みの先頭の行番号。
v:foldend 折り畳みの末尾の行番号。
v:foldlevel 折り畳みレベル。
v:folddashes repeat(“-”, v:foldlevel) と同じもの。

例えば、Hack #186: テキストを折り畳む – 自作編 で紹介した help の折り畳みは、”=” の連続した行が先頭になるため、折り畳むと “=” だけが表示されてしまい中身がよくわかりません。 以下のように設定することで次の行が表示されるようになり、少しわかりやすくなります。

setlocal foldtext=getline(v:foldstart+1)

もちろん、関数を作成してもっと凝った設定を行うことで折り畳みレベルや折り畳まれた行数などの情報を表示することも可能です。

thinca

もどる
blog comments powered by Disqus