[英]Clear certain criteria from .viminfo file
如何清除.viminfo文件中的某些條件?
我想清除命令行歷史記錄,文件標記,跳轉列表等。
但是 ,我想保留搜索字符串的歷史記錄。
有什么辦法嗎?
我可以想到3種方法。
運行Vim
類型:: :set viminfo='0,:0,<0,@0,f0
'0
表示不會保存標記 :0
表示將不保存命令行歷史記錄 <0
表示將不保存寄存器 @0
表示將不保存輸入行歷史記錄 f0
表示不會保存標記 %
表示將不保存緩沖區列表 /
表示將保存搜索記錄 這些選項在Vim 7.2中是正確的,但在其他版本中可能有所不同。 有關viminfo字符串格式的更多詳細信息,請運行:h 'viminfo'
退出Vim。 它將保存.viminfo文件的新版本,其中僅包含您要保留的信息。
在vim中打開.viminfo文件,
:set viminfo=
關閉自動將信息保存到.viminfo文件的功能。 如果您不這樣做,Vim會在您退出時覆蓋所有更改,
刪除所有不需要的內容(也許使用Johnsyweb的答案 ,或者僅通過使用手動編輯命令刪除行),保存文件並退出vim,
在其他文本編輯器中編輯.viminfo文件,只需刪除不需要的所有內容,
您可以使用vim
本身來修改文件,並且如果像這樣調用它, vim
的更改將保持不變:
$ vim -i NONE ~/.viminfo
使用-i
選項啟動vim
可以設置用於該會話的viminfo
文件。 特殊值NONE
表示什么都不保存。 這對於編輯其他自動生成的文件或敏感數據非常方便。
來自man vim
:
-i {viminfo}
啟用使用viminfo文件時,此選項設置文件名
使用,而不是默認的~/.viminfo
。 這也可以用來
通過命名為NONE
,跳過viminfo文件的使用。
VIM似乎沒有用於此作業的內置命令。 但是您可以使用“ grep”在shell中進行操作。 例如,以下命令將清除命令行歷史記錄,文件標記,跳轉列表:
bash $ grep -v "^[:'-]" .viminfo > .viminfo_clear
bash $ cp .viminfo_clear .viminfo
如果打開.viminfo,您將發現命令行歷史記錄以“:”開頭,文件標記以“'”開頭,跳轉列表以“-”開頭。
復制有用的部分並刪除.viminfo,然后打開/關閉Vim。 它將重新生成.viminfo。 然后將有用的部分復制回去。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.