TL; DR: Может ли Vim хранить свои файлы подкачки и каждый раз загружать один и тот же набор файлов подкачки и буферов?
Я работаю на Mac (OS: Maverick), где несколько приложений хранят данные в каком-то локальном / недоступном хранилище, которое восстанавливается между перезагрузками компьютера / сбоями приложений.
В качестве « хранилища » возьмите Sublime Text в качестве примера, как только я открываю новую вкладку, она сохраняет содержимое вкладки, даже если я не сохранил вкладку явно как файл для постоянного хранения в любом месте. Поэтому, если бы я закрыл ST и снова открыл его (или он / машина зависала), он восстановил бы все вкладки и контент, которые у меня были до закрытия.
Такого рода дурака контента удержания (TM) можно увидеть через несколько приложений Mac (например IMOVIE, QuickTime Player, TextEdit и т.д.), и в соответствии с философией дизайна Мака из всегда позволяя пользователю продолжать , где они остановились - без необходимости что-либо сохранять явно.
Учитывая тот факт, что:
1. Vim сохраняет файлы подкачки и обновляет каждые 200 ударов / 4 секунды бездействия до recover
2. Vim имеет параметры запуска, которые позволяют открывать файлы / своп
у меня есть достаточное основание для того, чтобы задаться вопросом, нет ли в Vim / MacVim этой функции сохранения контента (TM) среди сотен вариантов конфигурации?
PS В настоящее время я использую vim-сессий исключительно для «проекта, подобного группированию файлов», но он не сохраняет содержимое для несохраненных буферов.
pps играет с :preserve
опцией и cpoptions+=&
в .vimrc. Кажется, не оказывает влияния, файлы подкачки по-прежнему удаляются на MacVim, закрывается, и ничего не открывается при повторном запуске MacVim
.vimrc
? Особенно какие-либо части, которые ссылаются на сессионные опции?Ответы:
Упомянутая вами функциональность сеансов - это то, что вам нужно, но вам нужно передать ей опцию, чтобы она сохраняла буферы, а также открывала файлы и позиции. Вы можете использовать
:mksession
для этого.Тем не менее,
:mksession
все еще контролируется вручную; хотя вы можете связать его с горячими клавишами для быстрого сохранения / восстановления функциональности, если вы забудете выполнить команду, вы потеряете сеанс.По этой причине я рекомендую плагин Vision Session.vim . Это (наряду с несколькими дополнительными опциями в вашем .vimrc) будет автоматически сохранять и восстанавливать сессии. Полный список опций находится на странице. В частности, вы хотите сказать ему, чтобы передать
buffers
параметрsessionoptions
, как на этой странице .источник
buffers
оно в'sessionoptions'
, не приводит к тому, что содержимое буфера «Без имени» будет сохранено и восстановлено. На самом делеbuffers
уже был в списке. Я добавилset sessionoptions+=buffers
в свой,vimrc
чтобы быть уверенным, и попробовал оба:mksession
/:source
и:SaveSession
/:OpenSession
, но содержимое буфера все еще потеряно.