접힌 부분을 나무로 표시하는 방법이 있습니까?


10

접기는 문서의 일부를 숨길 때 유용합니다. 폴딩 구조를 트리로 시각적으로 표현하면 문서 구조를 한눈에 이해할 수 있습니다.

답변:


11

접기 수준을 시각화하려는 전체 열 :set foldcolumn=<number>을 표시하는 데 사용할 수 있습니다 <number>. 그것은 (사용, 마커 배 방법 기본적으로이 같은 무언가를 보일 것이다 {{{}}}) :

-    {{{ 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 과 같은 폴드 계층의 주문형 시각화를 제공하는 플러그인 도 있습니다. 본질적으로 모든 라인의 접기 수준을 구문 분석하고 적절한 데이터 구조를 구축하며 데이터 구조의 시각화를 새 버퍼로 덤프합니다. 기술을 자신의 필요에 맞게 조정할 수 있습니다.

당신은 또한 다음과 같은 제공하는 플러그인 "들여 쓰기 가이드"를보고 할 수 있습니다 이것 . 개인적으로 사용한 적이 없으며 일반적으로을 (를) 통해 여러 가지 맞춤 일치 하이라이트를 생성하기 때문에 성능 문제가 발생한다고 matchadd()들었지만 마일리지는 다를 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.