Как установить по умолчанию, чтобы развернуться при открытии файла?
Вопрос
В моем .vimrc
Я положил set foldmethod=syntax
Чтобы включить складывание методов и т. Д. Однако мне не нравится по умолчанию, который каждый раз, когда я открываю файл, все это сложено. Есть ли способ включить foldmethod
, но когда я их открываю?
Решение
set foldlevel=99
должен открыть все складки, независимо от метода, используемого для складывания. С foldlevel=0
все сложены, foldlevel=1
Только некоторые, ... более высокие числа закроют меньше складок.
Другие советы
Вы можете поместить это в свой .vimrc
:
au BufRead * normal zR
Он объявляет автоматическую команду (au
), запускается при чтении буфера (BufRead
), сопоставление всех файлов (*
) и выполняет zR
(открывает все сгиба) Команда в нормальном режиме.
set nofoldenable
Добавление этого в ваш .vimrc
временно отключится скидка при открытии файла, но складки все равно могут быть восстановлены с помощью zc
В .vimrc
Добавить автокмд для BufWinEnter
Чтобы автоматически открыть все складки, как это:
autocmd BufWinEnter * silent! :%foldopen!
Это говорит Vim выполнить silent :%foldopen!
После открытия BunWinEnter
событие (см :h BufWinEnter
) А silent %foldopen!
выполнит foldopen
во всем буфере благодаря %
и откроют все сгиб рекурсивно из -за !
. Анкет Любое возможное сообщение об ошибке будет подавлено silent
. Анкет (Вы можете получить сообщения об ошибках, как E490: No fold found
Если буфер на самом деле еще не содержал сгиба)
Примечание: вы можете использовать BufRead
вместо BufWinEnter
Но тогда, если в файле есть модель, которая позволяет складываться, которая будет переоценить этот AutoCMD. Я имею в виду BufRead
автокмм запускается до обработки модели и BufWinEnter
Будет запустить их после. Я считаю, что позже будет более полезным
Если вы хотите, чтобы он был развернут, как только он будет открыт, вы можете использовать set foldlevelstart=99
Как объяснено много ответов.
Но, если вы просто хотите увидеть их развернутые, вы можете просто нажать zi
И это развернет все. Другая, zi
Закроет их обратно.
Можете добавить
set foldlevelstart=99
В ваш файл .vimrc, и он начнет редактировать любой новый файл с открытыми складками.
Вы можете составить на карту ключи, чтобы включить его. Например,
nmap ,f :set foldmethod=syntax<CR>
Затем, находясь в нормальном режиме, нажимайте комбинацию ключей «f»