Не панікуйте!
Відновлення файлів завжди безпечне, тому що vim ніколи не записує жодних змін, поки ви їх самі не напишете. Тож відновлення з файлу swap та закриття без збереження нічого не змінить.
Організуйте свої свопфіли:
Отримайте vim, щоб розмістити всі файли своп у одному місці, щоб ви завжди знали, де вони знаходяться:
set directory^=$HOME/.vim/swap//
або де завгодно. Використання //
в кінці імені файлу змушує vim використовувати абсолютні шляхи до імен файлів підкачки, щоб у вас не було зіткнень імен. Переконайтесь, що каталог існує, або vim не буде використовувати його (він не створить його для вас).
Примітка. Це працює лише на змінних середовища, якщо ви хочете використовувати змінну vimscript, то нам потрібно використовувати :execute
магію:
execute "set directory^=".my_vim_home_var."/swap//"
Розрізняйте відмінності:
Допомога Vim передбачає дуже корисну команду для використання в цій ситуації: :DiffOrig
. Це не команда vim за замовчуванням , тому скопіюйте реалізацію з :h :DiffOrig
вашого vimrc. (це також, $VIMRUNTIME/defaults.vim
якщо у вас є vim8). Тепер ви можете відновити файл і просто запустити DiffOrig, щоб отримати vimdiff того, що змінилося з немодифікованої версії.
Якщо ви хочете порівняти вміст декількох файлів підкачки, відновіть файл із кожним різним файлом свопінгу, а потім запишіть результат у тимчасові файли. Тепер завантажте файли та запустіть :diffthis
кожен файл, внесіть потрібні зміни, запишіть їх у вихідний файл та видаліть тимчасові та поміняйте файли.
Корисні команди:
:swapname
: отримати ім'я, яке vim використовує для файлу swap для поточного буфера ( :h :swapname
)
:recover
: відновлює вибраний файл, як при запуску vim та натисканні R( :h :recover
)
Ознайомтеся з допомогою:
Vim має цілий розділ інструкції по відновленню: :usr_11.txt
контрольний допомоги Vim на файли підкачки: :h swap-file
, h recovery
довідки по опції каталогу (для установки розташування файлу підкачки)::h 'directory'
Редагувати: Модифікований приклад налаштування каталогу, як зазначено в коментарях @B Layer