vim: включить складки, но не закрывать их автоматически

16

Мне действительно нравится сворачивание в Vim, но есть пара нефайловых буферов (окно плагина command-t для одного), которые я действительно не хочу сворачивать, поскольку обычные команды сворачивания там не работают.

Если бы я мог просто сказать vim, чтобы он не закрывал автоматически фолды (только закрывайте их, когда я говорю об этом), это должно решить проблему, но я не вижу никаких опций в vim, помогающих изменить это поведение. Есть ли способ включить сворачивание, но не закрывать автоматически все сгибы при создании буфера / открытии файла?

Herms
источник

Ответы:

21

Команда не закрывать фолды при открытии буфера

:set foldlevelstart=99

Видеть

:help foldlevelstart

для большего.

garyjohn
источник
13

ты можешь сделать:

set nofoldenable

например в моем .vimrc у меня есть:

set foldmethod=indent       " automatically fold by indent level
set nofoldenable            " ... but have folds open by default
SML
источник
2
Из tech.groups.yahoo.com/group/vim/message/119298 : «С nofoldenable все складки открыты, как будто их вообще не существует. Вы не можете взаимодействовать с ними. Но, как только вы попытаетесь взаимодействовать с их (например, нажав zc) вы автоматически устанавливаете складывание, которое будет применять все сгибы, существующие в окне. "
Мансур Сиддики
0

zR - команда, чтобы открыть все сгибы. Я предполагаю, что вы можете использовать автокоманду vim (au), чтобы просто добавить опцию в ваш .vimrc для выдачи команды zR при открытии буфера с расширениями файлов, которые вы не хотите запускать с автоматическим закрытием складок. Что-то вроде этого:

au BufRead *.myext zR

не проверял, на самом деле правильный синтаксис можно использовать команду exe для zR:

au BufRead *.myext exe "zR"

Я предполагаю, что вы говорите об автофолдинге определенных или автоматически определенных сгибов при открытии буфера. Если в буферах вопросов не должно быть сгибов вообще, то это, вероятно, другая проблема, где вы хотите отключить свертывание для этих типов буферов.

Герберт Ситц
источник
да, но zR не работает, когда я в буфере, поэтому я не уверен, сработает ли автоматическая команда.
Herms