В моем .vimrc
я положил set foldmethod=syntax
, чтобы включить свертывание методов и т.д. Однако мне не нравится значение по умолчанию, которое каждый раз, когда я открываю файл, все складывается. Есть ли способ включить foldmethod
, но есть файлы, развернутые при их открытии?
Как установить разблокировку по умолчанию при открытии файла?
Ответ 1
set foldlevel=99
должен открывать все складки, независимо от метода, используемого для складывания. С foldlevel=0
все сложенные, foldlevel=1
только somes,... более высокие числа будут закрывать меньше сгибов.
Ответ 2
Вы можете поместить это в свой .vimrc
:
au BufRead * normal zR
Объявляет автоматическую команду (au
), запускаемую при чтении буфера (BufRead
), сопоставление всех файлов (*
) и выполнение команды zR
(открывает все складки) в обычном режиме.
Ответ 3
set nofoldenable
Добавление этого в ваш .vimrc
временно отключит фальцовку при открытии файла, но сгибы все еще можно восстановить с помощью zc
Ответ 4
В .vimrc
добавьте autocmd для BufWinEnter
, чтобы автоматически открывать все сгибы следующим образом:
autocmd BufWinEnter * silent! :%foldopen!
Скажите vim, чтобы выполнить silent :%foldopen!
после открытия события BunWinEnter
(см. :h BufWinEnter
). silent %foldopen!
выполнит foldopen
во всем буфере благодаря %
и будет рекурсивно открывать все сводки из-за !
, Любое возможное сообщение об ошибке будет подавлено silent
. (Вы можете получить сообщения об ошибках, такие как E490: No fold found
, если на самом деле буфер еще не скомпонован)
Примечание. Вы можете использовать BufRead
вместо BufWinEnter
, но тогда, если в файле есть модель, которая позволяет фальцовку, которая переопределит этот autocmd. Я имею в виду BufRead
autocmds, которые запускаются до того, как будет обработана модель и BufWinEnter
будет запускать их после. Я считаю, что более поздняя версия будет более полезной
Ответ 5
Вы можете добавить
set foldlevelstart=99
в ваш .vimrc файл, и он начнет редактирование любого нового файла со всеми открытыми складками.
Ответ 6
Если вы хотите, чтобы он отображался в развернутом виде, как только он открывается, вы можете использовать set foldlevelstart=99
, как объясняется много ответов.
Но, если вы просто хотите, чтобы они были развернуты, вы можете просто нажать zi
, и он разворачивает все. Другой, zi
закроет их.
Ответ 7
Вы можете сопоставить его с ключами, чтобы включить его. Например,
nmap ,f :set foldmethod=syntax<CR>
Затем, когда в нормальном режиме нажмите комбинацию клавиш ", f"