Vim:如何清除所有标记?

问题描述 投票:0回答:3

我想“清除所有标记”。

可选注释:(随意跳过)

一些编号标记指的是我很长时间没有编辑的文件,我不知道它们为什么在那里,它们是如何创建的,它们如何有用,并且由于它们引用网络驱动器上的文件,我怀疑它们可能是我的 MacVim 遇到的问题的一部分,在关闭和退出时,MacVim 偶尔会挂起,CPU 利用率为 100%。后者可能是完全没有根据的“迷信”,但我已经没有什么可检查的了,所以我只能在绝望中脱口而出废话。

vim
3个回答
90
投票
: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

8
投票

Vim 将此类信息存储在 ~/.viminfo 中。该文件包含的信息远多于默认情况下的标记。存储的确切信息可以通过“viminfo”选项控制。

有关禁用特定功能的更多信息,请参阅

:help 'viminfo'

您可以通过删除此文件并在再次启动时让 vim 重新创建它来“解决”您的问题。请注意,您将丢失存储在那里的额外信息,但我相信您的标记应该全部被清除。


0
投票

如果您使用的是 neovim,并且在删除标记、保存文件、关闭并重新打开文件后您的标记正在返回,那么您必须执行以下操作:

:delm! | delm A-Z0-9
删除标记,然后强制Shada写入
:wshada!

(在Neovim中,标记信息存储在shada中,并且标记是“永久的”。)

您可能需要使用像

chentoast/marks.nvim
这样的插件来解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.