Відповіді:
Ви можете використовувати :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()
, але ваш пробіг може відрізнятися.