Остановка VIM от открытия всех последующих закрытых сгибов при создании нового - PullRequest
4 голосов
/ 26 января 2010

Я заметил, что когда я создаю новую складку (я использую foldmethod=marker), все складки ниже той, которую я создаю, автоматически открываются, есть ли способ предотвратить это и оставить их закрытыми?

Я не могу использовать zf для ручного создания сгиба, потому что я редактирую PHP / HTML, и нет формата 'commentstring', подходящего для обоих.

Ответы [ 3 ]

3 голосов
/ 27 января 2010

Это возможно не только путем создания маркера закрытия перед открывающим, но также указав уровень сгиба в маркерах.

{{{1
    Fold you are closing.
    Inserting the closing marker below would not open the next fold.
}}}

{{{1
    Closed fold.
}}}

В этом случае уровень сгиба помогает Vim найти соответствующий закрывающий маркер, а не попробуйте тот, который закрывает следующий фолд.

1 голос
/ 26 января 2010

Попробуйте создать маркер конца ("}}}") до создания маркера начала ("{{{"). Это должно предотвратить перепутывание vim и открытие следующих сгибов.

Кроме того, если вы обнаружили, что случайно открыли несколько сгибов, просто заново отредактируйте файл (":e"), чтобы сбросить их.

0 голосов
/ 26 января 2010

Вместо того, чтобы печатать метки вручную, я стараюсь визуально пометить область, которую я хочу сбросить, с помощью V, а затем использовать zf для создания сгиба.

Это не открывает складки, которые еще не открыты.

...