2015-11-14 24 views
2

Vim的:oldfiles命令顯示最近100個打開的文件。我想清除這個列表。我怎麼做?如何清除vim`oldfiles`?

我試着用谷歌搜索「vim oldfiles clear」,但那不會返回有用的結果。我也嘗試使用谷歌搜索「VIM舊文件位置」,但也沒有。

+0

我不知道答案,我也不知道這是一個Vim功能,但清除此列表的理由是什麼? –

+1

你可能想看看[清除.viminfo](https://stackoverflow.com/questions/2816719/clear-the-viminfo-file)的問題,但這是假設你想刪除文件中的所有內容(包括其他標記) – JGreenwell

回答

5

該命令基本上列出了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查看當前配置也很有用。