Vim:如何清除所有标记?

62

我想要“清除所有标记”。

可选注释:(可以跳过)

一些编号的标记指向我很久没编辑过的文件,我不知道它们为什么会出现、是如何被创建的,以及它们可能有什么用途。由于它们指向网络驱动器上的文件,我怀疑它们可能是我在 MacVim 上遇到问题的一部分。当我关闭并退出 MacVim 时,它偶尔会卡住且 CPU 利用率达到了 100%。后者可能是毫无根据的“迷信”,但我已经没有东西可检查,所以我在绝望中胡言乱语。

2个回答

89
:delm[arks]!        Delete all marks for the current buffer, but not marks
            A-Z or 0-9.
            {not in Vi}
  • 'A - 'Z 大写字母标记,也称为文件标记,在文件之间有效。
  • '0 - '9 数字标记从.viminfo文件设置而来。

要删除它们:

:delmarks A-Z0-9
注意:~/.viminfo 文件包含历史记录和书签,如果你不再需要它们,可以删除此文件。Vim 将在下一次重新创建它。
因此,您可以执行以下操作以清除所有标记:
:delm! | delm A-Z0-9

1
这不会清除"<>'上的标记。前三个通过delm \"<>被删除。但是如何去掉'上的标记呢? - Stefan
我认为你不能这样做,因为它会立即返回到标记列表,因为它是最后一个光标位置或类似的东西。 - André Willik Valenti

8
Vim将此类型的信息存储在~/.viminfo中。默认情况下,该文件保存的信息不仅仅是书签。可以通过'viminfo'选项控制存储的确切信息。
有关禁用特定功能的更多信息,请参见:help 'viminfo'。
您可以尝试通过删除此文件并让Vim在下次启动时重新创建它来“修复”您的问题。请注意,您将失去存储在那里的额外信息,但我相信您的所有书签都应该被清除。

1
删除那个文件确实解决了我的问题,我已经知道了,但我仍会点赞给你。只是为了清除标记,这是“杀鸡焉用牛刀”吧? :) - Robottinosino
3
Neovim使用另一种格式——ShaDa。对我来说,相应的文件是~/.local/share/nvim/shada/main.shada。您可以通过执行命令:help shada-file-name来找到它。 - meshy
@meshy 谢谢!我刚刚删除了那个文件,标记列的错误位置也消失了~ - WW00WW

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接