折りたたまれたパーツをツリーとして表示する方法はありますか?


10

折りたたみは、ドキュメントの一部を非表示にするのに便利です。折りたたみ構造をツリーとして視覚的に表現すると、ドキュメントの構造を一目で理解するのに役立ちます。

回答:


11

を使用:set foldcolumn=<number>して、<number>折りたたみレベルを視覚化しようとする-wide列を表示できます。デフォルトでは次のようになります(マーカーフォールドメソッドを使用し{{{、およびを使用}}})。

-    {{{ Top Level Fold
|-   {{{ Nested Fold
||-  {{{ Deepest Fold
|||  }}}
||   }}}
|-   {{{ Another Nested Fold
||   }}}
|    }}}

ただし、これは水平方向の不動産をかなり消費します。別の方法はfoldtext()、フォールドレベルを読み取り、foldlevel()それに応じてフォーマットするカスタム実装を作成することです。これは、水平方向のスペースを無駄にしませんが、折りたたまれた折り目の下の折り目が見えないため、ツリーを視覚的に理解するのにそれほど役立ちません。たとえば、あなたの.vimrc

set foldtext=CustomFoldText()
function! CustomFoldText()
  let line = getline(v:foldstart) . "..."
  return repeat("--| ", v:foldlevel) . line
endfunction

folddigest.vimなど、フォールド階層のオンデマンド視覚化を提供するプラグインもあります。これらは基本的に、すべての行の折りたたみレベルを解析し、適切なデータ構造を構築し、データ構造の視覚化を新しいバッファーにダンプすることによって機能します。おそらく、このテクニックを自分のニーズに適合させることができます。

また、のような提供のプラグイン「インデントガイド、」を見てみたいことがあり、この1。私はそれらを個人的に使用したことがなく、一般にを介してカスタムマッチハイライトを大量に生成する必要があるため、パフォーマンスの問題が発生すると聞いてmatchadd()いますが、実際の距離は異なる場合があります。

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