如何清除vim的“oldfiles”?

5

Vim的:oldfiles命令显示最近打开的100个文件。我想清空这个列表。我该怎么做?

我尝试在Google上搜索“vim oldfiles clear”,但没有返回有用的结果。我还尝试了搜索“vim oldfiles location”,但同样没有结果。


我不知道答案,也不知道这是Vim的特性,但是清除此列表的期望原因是什么? - Andy Ray
1
您可能想查看清除 .viminfo 的问题,但这是假设您想删除文件中的所有内容(包括其他标记)。 - LinkBerest
1个回答

10

这个命令基本上列出了v:oldfiles变量的内容。然而,清空该变量并不是您想要做的事情,因为它本身是从.viminfo文件的内容生成的。

请阅读有关viminfo的帮助文档。Vim不会存储“最近使用的文件”列表。这些文件来自于已保存的标记。而.viminfo存储了很多东西。我不确定您是否希望删除其中所有内容,因此需要编辑该文件的那个部分。然而,如果您不禁用自动保存,则在退出时会被覆盖,这可能是一个困难的操作。

在我看来,对于您的情况,最好的解决方法是将存储最近文件标记的Vim设置更改为不存储任何内容;然后告诉Vim重新编写该文件。可以通过以下命令实现。请在新开启的Vim会话中执行此操作,最好是您还没有编辑过任何文件的会话。

:set vi+='0  " save no marks, in other words save 0 recent marks
:wv!         " write viminfo file without merging with old information

重新加载Vim,您的列表应该是干净的。请阅读帮助文档'vi'以了解更多信息。如果您希望最近的文件列表始终为空,则可以在.vimrc中配置该选项。使用:set vi命令可以查看当前的配置。


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