如何在 Vim 中撤消意外的“标记”覆盖(而不是跳转)?

如何在 Vim 中撤消意外的“标记”覆盖(而不是跳转)?

我按下了me而不是'e,标记“e”被当前位置覆盖,而不是跳转到当前位置。我该如何撤消它?

答案1

: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)

针对您的评论:

为了保存你的分数历史记录,你需要写一份维明信息文件使用:wv[iminfo][!] [file]

viminfo 文件用于存储:
- 命令行历史记录。
- 搜索字符串历史记录。
- 输入行历史记录。
- 非空寄存器的内容。
-为多个文件做标记。
-文件标记,指向文件中的位置。
- 最后的搜索/替换模式(对于 'n' 和 '&')。
- 缓冲区列表。
- 全局变量。

这可以用 来读回:rv[iminfo][!] [file]

使用文件存储标记有一个很大的警告viminfo。它只能存储大写或数字标记。不是小写标记。

只要文件仍在缓冲区列表中,小写标记 'a 到 'z 就会被记住。如果从缓冲区列表中删除文件,则其所有标记都会丢失。如果删除包含标记的行,则该标记将被删除。

答案2

一旦用新位置“覆盖”了标记,就无法撤消。您能做的最好的事情就是按ctrl-o直到光标位于旧位置并再次创建标记。

相关内容