.%20%D0%A1%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D1%82%D1%8C%20%D1%81%D0%B2%D0%BE%D0%BF%3F.png)
TL;DR:Может ли Vim хранить свои файлы подкачки и загружать один и тот же набор файлов подкачки и буферов при каждой загрузке?
Я работаю на Mac (ОС: Maverick), где ряд приложений хранит данные в каком-то локальном/внешнем хранилище.хранилищекоторый восстанавливается между перезагрузками компьютера/сбоями приложений.
К 'хранилище', братьВозвышенный текстНапример, как только я открываю новую вкладку, она сохраняет содержимое вкладки, даже если я явно не сохранил вкладку как файл для постоянного хранения где-либо. Так что если я закрою ST и снова открою ее (или она/машина выйдет из строя), она восстановит все вкладки и содержимое, которые у меня были до закрытия.
Это своего рода защита от дуракасохранение контента(TM) можно увидеть в ряде приложений Mac (например, iMovie, QuickTime Player, TextEdit и т. д.), и это соответствует философии дизайна Mac, которая всегда позволяет пользователю продолжить работу с того места, на котором он остановился, без необходимости явно что-либо сохранять.
Учитывая тот факт, что:
1. Vim сохраняет файлы подкачки и обновляет их каждые 200 нажатий / 4 секунды бездействия recover
2. Vim имеет параметры запуска, которые позволяют открывать файлы / файлы подкачки
здесь есть достаточно оснований для того, чтобы задаться вопросом, нет ли этого в Vim / MacVimсохранение контента(TM) уже присутствует среди сотен вариантов конфигурации?
псВ настоящее время я использую vim-sessions, исключительно для «группировки файлов по типу проекта», но он не сохраняет содержимое несохраненных буферов.
ппсиграл с :preserve
опцией и cpoptions+=&
в .vimrc. Похоже, это не влияет, файлы подкачки все равно удаляются при закрытии MacVim, и ничего не открывается при повторном запуске MacVim
решение1
Функциональность сеансов, о которой вы упомянули, это то, что вам нужно, но вам нужно передать ей опцию, чтобы она сохраняла буферы, а также открытые файлы и позиции. Вы можете использовать :mksession
для этого.
Однако :mksession
управление по-прежнему осуществляется вручную; хотя вы можете назначить горячие клавиши для быстрого сохранения/восстановления, если вы забудете выполнить команду, сеанс будет потерян.
По этой причине я рекомендуюСессия.vimПлагин vim. Это (вместе с несколькими дополнительными опциями в вашем .vimrc) будет иметь автоматическое сохранение и восстановление сеанса. Полный список опций находится на странице. В частности, вы хотите указать ему передать опцию buffers
в sessionoptions
, как указаноэта страница.