Подтвердить что ты не робот

Vim undo: отменяет изменения после записи файла

В моем коде на vim я сделал много изменений, а затем сделал ZZ (сохранение и выход). Но потом я понял, что мне не нужны эти изменения. Есть ли способ вернуться в состояние, прежде чем делать эти изменения, используя какой-то буфер, где эти данные все еще могут быть сохранены. Я не внес никаких изменений после сохранения и выхода.

4b9b3361

Ответ 1

В vim есть опция постоянного удаления, :h persistent-undo
Примечание: Он был представлен в версии VIM 7.3, поэтому для более ранних версий он не будет работать.

Его можно включить, поместив следующий текст в .vimrc:

if has('persistent_undo')      "check if your vim version supports it
  set undofile                 "turn on the feature  
  set undodir=$HOME/.vim/undo  "directory where the undo files will be stored
  endif     

Примечание. Перед включением этой опции все, что было потеряно, остается утерянным.
После включения опции вы сможете делать последующие отмены/повторы для всего, что было добавлено/удалено после включения опции.