Как установить значение по умолчанию для развернутого при открытии файла? - PullRequest
54 голосов
/ 29 ноября 2011

В моем .vimrc я поставил set foldmethod=syntax, чтобы включить сворачивание методов и т. Д. Однако мне не нравится значение по умолчанию, при котором каждый раз, когда я открываю файл, все складывается. Есть ли способ включить foldmethod, но файлы открываются при их открытии?

Ответы [ 7 ]

55 голосов
/ 29 ноября 2011

Вы можете поместить это в ваш .vimrc: au BufRead * normal zR

Он объявляет автоматическую команду (au), срабатывающую при чтении буфера (BufRead), соответствующую всем файлам (*) и выполняет команду zR (открывает все сгибы) в обычном режиме.

51 голосов
/ 29 ноября 2011
set foldlevel=99

должен открывать все складки, независимо от метода, используемого для складывания. С foldlevel=0 все сложено, foldlevel=1 только некоторые, ... большее число будет закрывать меньше сгибов.

16 голосов
/ 31 мая 2016
set nofoldenable

Добавление этого к вашему .vimrc временно отключит сворачивание при открытии файла, но сгибы все еще можно восстановить с помощью zc

5 голосов
/ 15 мая 2014

В .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 запускает их после. Я считаю, что позже будет более полезным

2 голосов
/ 17 декабря 2015

Если вы хотите, чтобы он отображался в развернутом виде сразу же после его открытия, вы можете использовать set foldlevelstart=99 для объяснения множества ответов.

Но, если вы просто хотите увидеть их развернутыми, вы можете просто нажать zi, и все развернется.Другой, zi закроет их обратно.

1 голос
/ 28 сентября 2014

Вы можете добавить

set foldlevelstart=99

к вашему .vimrc файлу, и он начнет редактировать любой новый файл с открытыми сгибами.

0 голосов
/ 29 ноября 2011

Вы можете сопоставить его с ключами, чтобы включить его. Например,

nmap ,f :set foldmethod=syntax<CR>

Затем в обычном режиме нажмите комбинацию клавиш ", f"

...