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


16

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

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

Ответы:


21

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

:set foldlevelstart=99

Видеть

:help foldlevelstart

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


13

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

set nofoldenable

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

set foldmethod=indent       " automatically fold by indent level
set nofoldenable            " ... but have folds open by default

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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.