:help 'autosave'
Встроенной опции нет, хотя (в todo.txt) содержится описание того, что может сделать такая опция.
Один из возможных способов реализовать это - использовать CursorHold
событие autocommand. Это событие вызывается, когда пользователь не нажимал клавишу в течение 'updatetime'
миллисекунд.
autocmd CursorHold * update
Команда :update
сохраняет буфер, только если он изменен. Если вы также хотели, чтобы это происходило при активном режиме вставки, CursorHoldI
его можно добавить в список событий.
autocmd CursorHold,CursorHoldI * update
Другой альтернативой является 'autowrite'
опция, которая сохраняет буфер перед выполнением внешней команды (полезно для сохранения перед запуском :make
) или переключением на другой буфер.
Vim имеет функцию автосохранения, но сохраняет ее в файле «восстановления».
Когда вы редактируете документ, например,
MyFile.txt
vim создаст файл revovery.MyFile.txt.swp
. Если ваша система потерпит крах или сеанс прекратится, вы можете восстановить соединение и восстановить его с того места, где вы остановились, набрав:Это откроет файл для редактирования и восстановит последние сделанные вами изменения.
Затем вы можете сохранить восстановленную версию обычным способом
:w
.К сожалению, когда вы выйдете из vim, он уйдет
.MyFile.txt.swp
, и вам нужно удалить его вручную:См. Справочную страницу «Восстановление», также Глава 11
источник
:wq
или,:q!
или,ZZ
и т. Д.) Файлы подкачки должны автоматически удаляться.Я сделал плагин vim-autosave, который использует функцию таймеров Vim 8 для периодического сохранения ваших буферов.
источник
Я заставляю свой Vim сохранять все каждый раз, когда теряется фокус.
Мои шаблоны довольно длинные, и я использую их в нескольких autocmds, но для полноты это выглядит так:
источник
Как указали другие, у vim есть файл подкачки (.swp), который будет создан там, где находится ваш оригинальный файл, но в вашем файле .vimrc вы можете установить каталог .swp.
Вам нужно будет создать каталог с,
mkdir
а затем установить ваш .vimrc в этом месте.источник
ВИМ-рабочее пространство плагин имеет достаточно настраиваемый Автосохранение функция , которая может удовлетворить ваши потребности. По умолчанию он включает автосохранение во время сеанса рабочего пространства (его основная функция), но вы можете установить его на автоматическое сохранение, если это все, что вы ищете (
let g:workspace_autosave_always = 1
).источник
Попробуйте сохранить буфер при каждом изменении текста:
Это работает для меня.
Источник
источник