为什么 vi 明显损坏(viminfo 错误 E576),我该如何修复它?

为什么 vi 明显损坏(viminfo 错误 E576),我该如何修复它?

我精通使用 Unix/Linux,但不是专家。如果我想打开一个文件(例如,file.txt),我使用vi

vi file.txt

这将打开文件,如果我想关闭它,我使用:q!.我使用Unix/Linux的两年里一直在使用这个方法。我的机构有一个运行 Ubuntu Linux 的集群。

然而今天,我尝试打开一个文件,却收到以下错误消息:

E576: viminfo: Missing '>' in line: newest to oldest):
E576: viminfo: Missing '>' in line: ?/CJ
E576: viminfo: Missing '>' in line: ?/CG
E576: viminfo: Missing '>' in line: ?/CC
E576: viminfo: Missing '>' in line: ?/OEP
E576: viminfo: Missing '>' in line: ?/CEP
E576: viminfo: Missing '>' in line: ?/dih
E576: viminfo: Missing '>' in line: ?/ang
E576: viminfo: Missing '>' in line: ??b
E576: viminfo: Missing '>' in line: ?/xvg
E136: viminfo: Too many errors, skipping rest of file
Press ENTER or type command to continue

所以我按Enter.我收到同样的消息:

E576: viminfo: Missing '>' in line: newest to oldest):
E576: viminfo: Missing '>' in line: ?/CJ
E576: viminfo: Missing '>' in line: ?/CG
E576: viminfo: Missing '>' in line: ?/CC
E576: viminfo: Missing '>' in line: ?/OEP
E576: viminfo: Missing '>' in line: ?/CEP
E576: viminfo: Missing '>' in line: ?/dih
E576: viminfo: Missing '>' in line: ?/ang
E576: viminfo: Missing '>' in line: ??b
E576: viminfo: Missing '>' in line: ?/xvg
E136: viminfo: Too many errors, skipping rest of file
Press ENTER or type command to continue

我再次按Enter,最后文件打开以供阅读/编辑。但是,当我尝试使用 关闭文件:q!以及尝试使用vi.打开任何其他文件时,问题会重复出现。

关键词CJCGCCOEPCEP、和(虽然我不确定)都是我使用 读取的文件中经常出现的字符串dih,尽管我不确定它们是否都存在于我打开的特定文件中(我不这么认为)。因此,也许我的文件有问题?但是,我angxvgbviviminfo使用vi不是 vim

我不确定发生了什么;您对我如何诊断并可能解决这个问题有什么建议吗?

答案1

做这个:

rm -f ~/.viminfo

.viminfo文件保存有关各种有用但非关键状态信息的元数据。你的已经腐败了。去掉它。

答案2

.viminfo当您存储命令和文件历史记录等的文件中存在语法错误时,会发生 vim 错误 E576。

当空间不足或存储引擎出现故障时,可能会发生损坏。您可以尝试编辑~/.viminfo、找到并删除无效行,最终将其重命名为不同的名称,然后将其删除。

您还可以使用-i {viminfo}参数来指定不同的 .viminfo 文件。

相关内容