Có cách nào để hiển thị các phần gấp như một cái cây?


10

Folding là hữu ích để ẩn đi các phần của tài liệu. Một biểu diễn trực quan của cấu trúc gấp như một cái cây sẽ hữu ích để hiểu nhanh cấu trúc tài liệu.

Câu trả lời:


11

Bạn có thể sử dụng :set foldcolumn=<number>để hiển thị một <number>cột trên toàn thế giới cố gắng trực quan hóa các mức độ gấp. Theo mặc định, nó sẽ trông giống như thế này (với phương thức gấp đánh dấu, sử dụng {{{}}}):

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

Tuy nhiên, điều này tiêu thụ khá nhiều bất động sản theo chiều ngang. Một phương pháp khác là viết một foldtext()triển khai tùy chỉnh để đọc mức độ gấp foldlevel()và định dạng tương ứng. Điều này sẽ lãng phí không gian ngang ít hơn, nhưng sẽ không thực sự hữu ích cho việc hiểu trực quan về cây vì bạn không thể nhìn thấy các nếp gấp bên dưới nếp gấp bị sụp đổ. Ví dụ .vimrc: của bạn :

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

Có các plugin cung cấp trực quan hóa theo yêu cầu của hệ thống phân cấp gấp, chẳng hạn như folddigest.vim . Về cơ bản, chúng hoạt động bằng cách phân tích mức độ gấp của mỗi dòng, xây dựng cấu trúc dữ liệu phù hợp và đưa trực quan hóa cấu trúc dữ liệu vào bộ đệm mới. Bạn có thể có thể thích ứng các kỹ thuật theo nhu cầu của riêng bạn.

Bạn cũng có thể muốn xem các plugin cung cấp "hướng dẫn thụt lề", chẳng hạn như plugin này . Tôi chưa bao giờ sử dụng cá nhân họ và tôi nghe nói họ gây ra một số vấn đề về hiệu suất cho mọi người vì họ thường liên quan đến việc tạo ra nhiều điểm nổi bật phù hợp thông qua matchadd(), nhưng số dặm của bạn có thể thay đổi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.