回答
VIM似乎沒有這項工作的內置命令。但是你可以用「grep」在shell中完成。 例如,下面的命令將清除命令行歷史,文件標記,跳轉列表:
bash $ grep -v "^[:'-]" .viminfo > .viminfo_clear
bash $ cp .viminfo_clear .viminfo
如果打開.viminfo,你會發現,在命令行歷史開始「:」,文件標記以「'」開頭,跳轉列表以「 - 」開始。
eeeeeeeeeeeeee ...不好回答。 爲什麼你正在創建不必要的文件,你的答案是錯誤的。 – ungalnanban 2010-05-12 13:04:54
我可以想到3種方法來做到這一點。
1.自動
運行的Vim,
類型:
:set viminfo='0,:0,<0,@0,f0
'0
意味着商標將不會被保存:0
意味着,命令行歷史不被保存<0
意味着寄存器不會被保存@0
意味着輸入行歷史不會被保存f0
意味着商標將不會被保存- 沒有
%
意味着緩衝區列表將不會被保存 - 沒有
/
意味着搜索歷史將保存
這些選項在Vim中是正確的7.2,但在其他版本中可能會有所不同。有關viminfo字符串格式的更多詳細信息,請運行
:h 'viminfo'
退出Vim。它會保存一個新版本的.viminfo文件,只包含你想保留的信息。
2.手動
打開Vim的.viminfo文件,
:set viminfo=
到信息的自動保存關閉到.viminfo文件。如果你不這樣做,當你退出時,Vim將覆蓋你所做的所有更改,刪除你不想要的所有東西(也許通過使用Johnsyweb's answer,或者只是刪除手動編輯命令的行),保存文件,並退出VIM,
3.在不同的編輯器
編輯在不同文本編輯器中.viminfo文件,只需刪除你不想要的一切,
複製有用部分並刪除.viminfo,然後打開/關閉Vim。它會重新生成.viminfo。然後複製有用的部分。
您可以使用vim
本身來修改該文件,如果你調用它你這樣的改變將留在原地:
$ vim -i NONE ~/.viminfo
開始vim
與-i
選項設置viminfo
文件中使用該會話其中。特殊值NONE
意味着什麼都沒有保存。這對於編輯其他自動生成文件或敏感數據可能非常方便。
從man vim
:
-i {viminfo}
當使用的viminfo文件的功能,這個選項設置,而不是默認的~/.viminfo
名
使用。這也可以用於
跳過使用viminfo文件,通過給名稱NONE
。
- 1. vimrc文件,viminfo文件
- 2. 損壞的.viminfo文件
- 3. 從文件中刪除特定的行
- 4. 從庫中排除特定文件夾
- 5. 從git修訂版中刪除特定的文件/文件夾
- 6. 從混淆中排除清單文件
- 7. 刪除特定行從文件
- 8. 從條件中刪除列中的特定值?
- 9. 從具有特定條件的文件中替換內容
- 10. 從特定條件中選擇JSON
- 11. 清除文件夾 - 刪除文件夾中的文件 - J2ME
- 12. 如何在特定條件下從元素中刪除Bootstrap Affix?
- 13. 如何從具有特定條件的表中刪除記錄
- 14. 如何從條件中刪除條件?
- 15. 清除Git文件
- 16. 如何從比較中排除除特定文件以外的所有文件
- 17. 根據條件刪除特定的列
- 18. 刪除基於特定條件
- 19. PHP - 從XML文件中元素中移除特定文本
- 20. 從Java中的文本文件中刪除特定行
- 21. 從文本文件中刪除包含特定文本的行
- 22. 使用批處理文件刪除具有條件的特定文件夾
- 23. C++清除特定位置後文件的內容
- 24. 通過bash shell清除文件的特定行
- 25. 表中的特定條件
- 26. 從「設置」文件中刪除條目
- 27. 如何從滿足條件的文本中刪除特定單詞?
- 28. 刪除文件中的特定單詞
- 29. 在php中刪除特定文件
- 30. 與特定條件
這應該遷移到SuperUser.com,因爲它不是直接關於編程。 – Johnsyweb 2010-05-24 07:27:22
如果可以,我會投票重新開放。這正是我現在需要知道的編程需求。見http://meta.stackexchange.com/questions/25925/vim-questions-do-they-belong-to-stack-overflow-or-super-user – 2013-08-14 18:15:51
我不認爲這是題外話題。編輯器vim是「程序員常用的軟件工具」(因此在範圍內)。它當然不是一個普通的文本編輯器,可供普通用戶使用。 – 2013-10-05 22:20:34