Могу ли я сохранить складки?


13

Сегодня я узнал, как складывать / разворачивать в Vim; это довольно удобно

Неожиданно, когда я выхожу из файла и снова вхожу в него, созданные мной сгибы исчезают (разворачиваются).

В большом проекте нашей компании довольно много липких (унаследованных) блоков кода, которые являются устаревшими, но необходимыми.

Мне действительно нужно сложить их почти навсегда.

Есть ли краткий способ сказать Vim, чтобы я сохранил настройки фальцовки для файла?


1
Я не знаю , если это решит вашу проблему, но , возможно, :mkviewи :loadviewкоманды могли бы помочь. Вы можете попробовать добавить эти 2 строки внутри vimrc au BufWinLeave *.c mkviewи au BufWinEnter *.c silent loadviewи адаптировать их к конкретным потребностям. Это автокоманды, которые будут автоматически выполняться всякий раз, когда вы оставляете буфер для первого и когда вы вводите буфер для второго, но только для C-файлов. Я скопировал их с помощью :mkviewкоманды ( :help :mkview).
saginaw

1
Согласно справке, он должен восстанавливать складки при использовании ручного складывания и 'viewoptions'содержит опцию folds. Если вы хотите, чтобы автокоманды выполнялись для других типов файлов, вы можете изменить автокоманды. Например, если вы хотите добавить файлы Python, вы можете изменить *.cна *.c,*.py.
Сагино

Извините, я ошибся, когда сказал, что автокоманды будут выполняться всякий раз, когда вы входите / выходите из буфера. Первый будет выполнен после того, как в окне отобразится буфер, второй будет выполнен перед удалением буфера из окна.
Сагино

Ответы:


6

Я делаю именно это для одного файла, на который я ссылаюсь. NOTES.otlЯ выполнил следующее в своем .vimrc:

" Useful for my Quick Notes feature in my tmuxrc
augroup QuickNotes
  au BufWrite,VimLeave NOTES.otl mkview
  au BufRead           NOTES.otl silent loadview
augroup END

Что это означает, что в вашем случае , вы можете обрабатывать вручную складки с помощью :mkviewи :loadviewкоманды.

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