Как отменить случайную «пометку» перезаписи (а не прыжков) в Vim?

615
Vi.

Я нажал meвместо, 'eи метка «е» была заменена текущей позицией, вместо того, чтобы перейти к ней. Как мне отменить это?

6

2 ответа на вопрос

2
embedded.kyle

:delmarks eудалит определенную отметку. Это может быть сокращено:delm e

Из вики :

Command Description :delmarks a delete mark a :delmarks a-d delete marks a, b, c, d :delmarks abxy delete marks a, b, x, y :delmarks aA delete marks a, A :delmarks! delete all lowercase marks for the current buffer (a-z) 

Чтобы ответить на ваш комментарий:

Чтобы сохранить историю ваших отметок, вам нужно написать файл viminfo с помощью :wv[iminfo][!] [file].

Файл viminfo используется для хранения:
- Истории командной строки.
- История поиска строки.
- История ввода строки.
- Содержимое непустых регистров.
- Знаки для нескольких файлов.
- Файловые метки, указывающие на места в файлах.
- Последний шаблон поиска / замены (для 'n' и '&').
- Список буферов.
- Глобальные переменные.

Это можно прочитать обратно с :rv[iminfo][!] [file].

Существует большое предостережение относительно использования viminfoфайла для хранения ваших отметок. Он будет хранить только заглавные или числовые метки. Не строчные буквы.

Строчные буквы 'a -' z запоминаются до тех пор, пока файл остается в списке буферов. Если вы удалите файл из списка буферов, все его метки будут потеряны. Если вы удаляете строку, содержащую метку, эта метка стирается.

Нет. Я просто хочу вернуть марку в предыдущую позицию и перейти к ней. Это как случайное использование «Быстрого сохранения» вместо «Быстрая загрузка» и желание восстановить перезаписанный файл сохранения. Если это невозможно в Vim, как подготовить его заранее (т.е. заставить Vim сохранить историю для каждого слота меток). Vi. 10 лет назад 0
1
Heptite

После того как вы «перезаписали» метку новым местоположением, ее нельзя отменить. Лучшее, что вы можете сделать, это, возможно, нажмите ctrl- oпока курсор не находится на старом месте и создать метку снова.

Как заставить Vim хранить историю [для каждого слота метки], чтобы можно было отменить это? Я не хочу останавливаться и думать каждый раз, когда сохраняю отметку или прыгаю. Vi. 10 лет назад 0
Я пытаюсь вам сказать, что Vim этого не делает и не предоставляет механизма для этого. Вы могли бы увидеть, пытался ли кто-нибудь создать скрипт / плагин Vim, но я не видел ни одного с беглым поиском в Google. Heptite 10 лет назад 0