Vim може це зробити, хоча це може бути трохи незграбним і здійснити певну настройку.
Романн змушує тебе розлучитисяsession
. Пропущені біти - це файли swap :preserve
, та &
прапор для cpoptions
.
Файли обміну призначені для відновлення, якщо Vim або ваша система виходить з ладу. Вони дозволяють відновити будь-які незбережені зміни (з деякими обмеженнями, див. :he swap-file
). Однак, коли Vim закінчується нормально, він видаляє будь-які файли підкачки, якими він користувався, навіть якщо в буфері були незбережені зміни.
Ось де :preserve
і cpoptions
«s &
приходять. :preserve
Сили Vim писати все буфери їх файли підкачки негайно (на відміну від стандарту через 4 секунди чи 200 символів, або що ваші варіанти встановили його в). Дія :set cpoptions+=&
вказує Vim не видаляти файли, що зберігаються, збережені :preserve
при нормальному виході.
На жаль, Vim автоматично не очищає файли підкачки під час відновлення з них, тому незабаром ви можете створити такий каталог:
.foo.txt.swn
.foo.txt.swo
.foo.txt.swp
foo.txt
Ви можете видалити старіші вручну, але Vim запропонує відновити лише автоматично, якщо є *.swp
файл, куди він би розмістив свій новий файл swap. :recover
Команда змусить Vim шукати файли підкачки для відновлення.
Використовуючи автокоманди, ви можете автоматизувати збереження (можливо, з QuitPre
подією) та відновлення (ймовірно, з BufRead
або BufReadPost
). Recover.vim - плагін, який може працювати як зручніша альтернатива управління відновленням. Схоже, він також обробляє очищення файлів підкачки. Я не впевнений, як він оброблятиме каталог з файлом, .swo
але без нього .swp
. Вам може знадобитися використовувати :recover
для цього випадку.
vim-obsession - ще один плагін, який стверджує, що значно полегшує обробку сеансів.