どうしてviは明らかに壊れているのか(viminfoエラーE576)、どうすれば修正できますか?


18

私はUnix / Linuxの使用に習熟していますが、専門家ではありません。ファイル(たとえば、file.txt)を開きたい場合は、次を使用しますvi

vi file.txt

これによりファイルが開き、閉じたい場合はを使用します:q!。Unix / Linuxを使用している2年間、この方法を使用しています。私の機関には、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

キーワードCJCGCCOEPCEPdihang、とxvg(私はわからについてないですbけれども、)多くの場合、私が使用して読み取ることファイルに表示されるすべての文字列ですvi私は開口部だと、特定のファイルで、それらのすべてが存在することが確かではない午前ものの、 (そうは思わない)。したがって、おそらくviminfoファイルに何か問題がありますか?ただし、私を使用viして vimますが、ではありません

何が起こったのかわかりません。この問題を診断し、おそらく修正する方法についての提案はありますか?


2
あなたの~/.viminfo腐敗はありますか?別の場所に移動してみて、問題が再発するかどうかを確認してください。へのシンボリックリンクとしてvim単に提供する多くのシステムを念頭に置いてください。vivim
jw013

2
私はvimではなくviを使用しています。本気ですか?vi多くの場合、別名が付けられますvim(その場所で確認してwhich viからfile)。
ire_and_curses

2
ほとんどのLinuxシステムでは、viはvimへのシンボリックリンクであるため、viminfoが破損している可能性があります。
マークコーエン

@ire_and_cursesありがとう!入るwhich viと出力が得られます/usr/bin/vi。を入力するfile /usr/bin/viと、出力/usr/bin/vi: symbolic link to / etc / alternatives / vi ' . Does this mean I am using vi`?
アンドリュー

1
@Andrew-そう、そうfile /etc/alternatives/vi。それがあなたが実際に走っていることを告げることを期待しますvim
ire_and_curses

回答:


25

これを行う:

rm -f ~/.viminfo

この.viminfoファイルには、さまざまな有用ではあるが重要ではない状態情報に関するメタデータが保持されます。あなたのものは壊れています。それを除く。


2
それを.viminfo 削除するよりも移動する方がリスクを嫌い ます。例えば、大きなコードベースで作業している場合、マークを再構築するのは非常に苦痛かもしれません。
donothingsuccessfully

@bahamat @donothingsuccessfullyお時間をありがとうございました!移動.viminfo(リスク回避方法)により問題が修正されます。だから私は私の.viminfoファイルが破損したと思います。あなたの助けに心から感謝します。ハッピーホリデー!
アンドリュー

1

vimエラーE576は.viminfo、コマンドやファイル履歴などを保存するファイルに構文エラーがある場合に発生します。

スペースが不足している場合、またはストレージエンジンに障害がある場合、破損が発生する可能性があります。~/.viminfo無効な行を編集、検索、削除して、最終的に名前を別の名前に変更して、削除することができます。

-i {viminfo}パラメーターを使用して、異なる.viminfoファイルを指定することもできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.