Как вы можете управлять сгибами с помощью внешнего файла в Vim?
-
09-09-2019 - |
Вопрос
Я искал решение, которое помещает метки сгиба и коды во внешний скрытый файл.Таким образом, у вас могли бы получиться постоянные складки без дополнительных знаков сгиба.
Как вы можете управлять сгибами с помощью внешнего файла в Vim?
Решение
Это очень общий вопрос.Что такое «внешний файл» в vim на самом деле?В конце концов, Vim — это набор «внешних» файлов.Итак, если я определяю свои настройки складывания в своих vimfiles, является ли это решением «внешний файл»?
Вы могли бы связь, например, определить механизмы свертывания регулярных выражений и получить их из внешнего файла.
Но я думаю, что вы имеете в виду: «Могу ли я определить внешний файл, чтобы я мог иметь возможность индивидуального свертывания в проекте, чтобы все, кто использует vim после того, как я передам им свои файлы, имели такое же свертывание»?Да, я думаю, вы могли бы сделать это, экстраполируя метод, описанный выше.
Но помните, у vim есть несколько способов сворачивания:
- руководство — где вы вручную определяете складки (это хорошо, но в вашем коде остается много фигурных скобок, но это «переносимо»)
- отступы - где отступы определяют складки
- выражение (которое я упомянул)
- синтаксис - определяется подсветкой синтаксиса
- маркер - ты это уже знаешь
...в конце концов, все сводится к этим нескольким настройкам вашего vimrc.
Мой совет:НЕ ИЗМЕНЯЙТЕ отступы, синтаксис и т. д. vim.файлы.Обычно вам даже не нужно их менять (если только вы не используете язык, который vim не поддерживает, в чем я сомневаюсь).Итак, определите свои настройки и предпочтения в каталоге vimrc и vimfiles и просто дайте своим коллегам настройки, которые им нужны (обычно только те, что из vimrc), чтобы иметь такое же поведение свертывания.
Другие советы
Vim можно настроить на автоматическое запоминание складок в файле, поместив эти две строки в ~/.vimrc
что такое BufWinLeave? * mkview что такое BufWinEnter? * просмотр загрузки в автоматическом режиме
Использовать manual
способ изготовления складок.Это не то же самое, что marker
как подразумевалось выше.Использовать :mkview
для сохранения складок и :loadview
чтобы перезагрузить их.