В Vim, я обычно устанавливается foldmethod
в indent
большинстве типов файлов. В общем, мне нравятся файлы, которые открываются со всеми открытыми сгибами. Тем не менее, полезно начать немедленно, используя, zmчтобы начать закрывать сгибы глобально по файлу, по одному уровню за раз, что позволяет мне видеть общую структуру файла, не мешая деталям.
Единственное общее решение, которое я нашел, - это установить foldlevelstart
очень большое число, например 99, чтобы убедиться, что все файлы (с учетом того, что разные файлы будут иметь разные уровни максимального отступа) начинаются полностью развернутыми. Тем не менее, мне пришлось бы использовать zmнесколько раз, чтобы уменьшить foldlevel
максимальный уровень сгиба файла, обычно намного меньше 99, что является громоздким и непрактичным. Я мог бы установить foldlevel
вручную, используя командную строку vim, но мне все равно нужно знать максимальный отступ в файле.
Есть ли практический способ открыть файл с foldlevel
установленным ровно на один больше, чем максимальный текущий уровень отступа / сгиба в самом файле?
Например, предоставлен следующий файл:
a
b
c
d1
d2
e
f1
f2
Первое нажатие клавиши zmпокажет это:
a
b
c
+-- 2 lines: d1------
e
+-- 2 lines: f1------
(Обратите внимание, однако, что он должен работать для общего случая, когда начальный максимальный отступ файла может быть любым значением).
zm
= сбросить больше (вычесть уровень сгиба) и zr
= сбросить меньше (добавить уровень сложения)
zr
сzm
; последний уменьшает уровень сгиба.