[英]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.