2

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) среди сотен вариантов конфигурации?

п.с. В настоящее время я использую vim-сессии исключительно для «проекта, подобного группированию файлов», но он не сохраняет содержимое для несохраненных буферов.

pps играет с опцией :preserve и cpoptions+=& в .vimrc. Кажется, не оказывает влияния, файлы подкачки все еще удаляются на MacVim, закрывается, и ничего не открывается, когда MacVim запускается снова

1 ответ1

2

Упомянутая вами функциональность сеансов - это то, что вам нужно, но вам нужно передать ей опцию, чтобы она сохраняла буферы, а также открывала файлы и позиции. Вы можете использовать :mksession для этого.

Однако :mksession по-прежнему контролируется вручную; хотя вы можете связать его с горячими клавишами для быстрого сохранения / восстановления функциональности, если вы забудете выполнить команду, вы потеряете сеанс.

По этой причине я рекомендую плагин vim Session.vim. Это (наряду с несколькими дополнительными опциями в вашем .vimrc) будет автоматически сохранять и восстанавливать сессии. Полный список опций находится на странице. В частности, вы хотите сказать ему, чтобы он передавал опцию buffers sessionoptions , как указано на этой странице.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .