Ctrl-o с игнорированием "Нет записи с момента последнего изменения" - PullRequest
1 голос
/ 17 июня 2020

Я могу нажать ctrl O на go до последней точки перехода. Однако, если есть какие-либо изменения в текущем документе, он предупреждает меня:

E37: Нет записи с момента последнего изменения (добавить! Для отмены)

Есть ли способ игнорировать это сообщение и выполнить ctrl-o и либо (1) отменить любые изменения; или (2) сохраните все изменения и нажмите ctrl-o?

Ответы [ 2 ]

3 голосов
/ 17 июня 2020
  1. Отменить все изменения --- Нет.

  2. Сохранить изменения --- set autowrite или set autowriteall

  3. Скрыть буфер, но сохранить его в памяти (может запросить сохранение позже) --- set hidden

  4. Спросить, хотите ли вы сохранить буфер --- set confirm

Примечание. (2), (3) и (4) являются глобальными параметрами и изменяют поведение Vim для многих (!) Команд.

1 голос
/ 17 июня 2020

2) Вот простая команда для вашего .vimrc, которая сохранит файл перед прыжком:

noremap <C-O> :update<C-M><C-O>

EDIT: используйте :update вместо :w, чтобы избежать повторной записи файла когда он не был ранее изменен.

1) Я искал эквивалентное решение, чтобы отменить изменения вместо их сохранения, используя :e! вместо :w, но это изменяет список точек перехода в путь, который сломает <C-O> полностью.

...