Por que o vi aparentemente está quebrado (erro viminfo E576) e como posso corrigi-lo?

18

Eu sou proficiente no uso de Unix / Linux, mas não sou especialista. Se eu quiser abrir um arquivo (por exemplo, file.txt ), eu uso vi :

vi file.txt

Isso abre o arquivo, e se eu quiser fechá-lo, eu uso :q! . Eu tenho usado esse método nos dois anos em que tenho usado o Unix / Linux. Minha instituição tem um cluster rodando Ubuntu Linux.

Hoje, no entanto, tentei abrir um arquivo e recebi estas mensagens de erro:

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

Então eu pressiono Enter . Eu recebo as mesmas mensagens:

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

Novamente, pressiono Enter e, finalmente, o arquivo é aberto para leitura / edição. No entanto, o problema se repete quando tento fechar o arquivo usando :q! e também quando tento abrir qualquer outro arquivo usando vi .

As palavras-chave CJ , CG , CC , OEP , CEP , dih , ang e xvg (não tenho certeza sobre b , embora) são todas as strings que frequentemente aparecem em arquivos que eu leio usando vi , embora eu não esteja certo de que todas elas existam no arquivo particular que estou abrindo (eu não penso assim). Assim, talvez algo esteja errado com o meu arquivo viminfo ? No entanto, eu sou usando vi , não vim .

Não tenho certeza do que aconteceu; Você tem alguma sugestão de como eu posso diagnosticar e possivelmente corrigir esse problema?

    
por Andrew 21.12.2012 / 23:33

2 respostas

25

Faça isso:

rm -f ~/.viminfo

O arquivo .viminfo mantém metadados sobre várias informações de estado úteis, mas não críticas. Seu é corrupto. Remova-o.

    
por 22.12.2012 / 04:32
1

O erro vim E576 acontece quando você tem algum erro de sintaxe no arquivo .viminfo , que armazena seu histórico de comandos e arquivos, etc.

A corrupção pode acontecer quando você está sem espaço ou seu mecanismo de armazenamento está com defeito. Você pode tentar editar ~/.viminfo , localizar e remover as linhas inválidas, eventualmente, renomeá-lo para um nome diferente e apenas removê-lo.

Você também pode usar o parâmetro -i {viminfo} para especificar o arquivo .viminfo diferente.

    
por 21.02.2014 / 11:55

Tags