vi가 명백히 손상된 이유 (viminfo 오류 E576)는 어떻게 해결합니까?


18

유닉스 / 리눅스 사용에 능숙하지만 전문가는 아닙니다. 파일을 열려면 (예 file.txt:) vi다음을 사용합니다 .

vi file.txt

파일이 열리고 닫으려면을 사용 :q!합니다. 유닉스 / 리눅스를 사용해 온 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.

핵심 단어 CJ, CG, CC, OEP, CEP, dih, ang, 그리고 xvg(나는 확실히에 대한 아니라고 b자주 사용 읽어 파일에 나타나는 모든 문자열은하지만) vi나는 그들이 내가 개방 특정 파일의 모든 존재임을 확신하지 오전하지만, (난 그렇게 생각하지 않아). 따라서 내 viminfo파일에 문제가 있습니까? 그러나, 나는 하고 사용 vi, 없습니다 vim .

무슨 일이 있었는지 잘 모르겠습니다. 이 문제를 진단하고 해결할 수있는 방법에 대한 제안이 있습니까?


2
당신의 ~/.viminfo부패는? 다른 곳으로 옮기고 문제가 다시 발생하는지 확인하십시오. vim단순히 vi심볼릭 링크로 제공 되는 많은 시스템을 명심하십시오 vim.
jw013

2
vim이 아닌 vi를 사용하고 있습니다. 확실합니까? vi종종 별칭이 지정됩니다 vim( 해당 위치를 확인한 which vi다음 확인 file).
ire_and_curses

2
대부분의 Linux 시스템에서 vi는 vim에 대한 심볼릭 링크이므로 viminfo가 손상되었을 수 있습니다.
Mark Cohen

@ire_and_curses 감사합니다! 내가 들어가면 which vi출력을 얻습니다 /usr/bin/vi. 내가 입력하면 / etc / alternatives / vi ' vi` file /usr/bin/vi출력을 얻 습니까? /usr/bin/vi: symbolic link to . Does this mean I am using
앤드류

1
@ Andrew- 좋아요 file /etc/alternatives/vi. 나는 그것이 당신이 실제로 달리고 있다고 말할 것 vim입니다.
ire_and_curses

답변:


25

이 작업을 수행:

rm -f ~/.viminfo

.viminfo파일은 유용한 다양한 중요하지 않은 상태 정보에 대한 메타 데이터를 유지합니다. 당신은 타락했습니다. 제거하십시오.


2
.viminfo 제거하는 것보다 이동 하는 것이 더 위험 합니다. 예를 들어 큰 코드 기반으로 작업하는 경우 마크를 재구성하는 것이 매우 어려울 수 있습니다.
donothingsuccessfully

@bahamat @donothingsuccessfully 시간 내 주셔서 감사합니다! 이동 .viminfo(위험 회피 방법)으로 문제가 해결됩니다. 내 .viminfo파일이 손상되었다고 생각 합니다. 도움을 주셔서 감사합니다. 행복한 휴일!
Andrew

1

vim 오류 E576은 .viminfo파일에 명령 및 파일 기록 등을 저장하는 구문 오류가있을 때 발생합니다 .

공간이 부족하거나 스토리지 엔진에 결함이있는 경우 손상이 발생할 수 있습니다. ~/.viminfo잘못된 행 을 편집 하고 찾아서 제거 하려고 시도 할 수 있으며 결국 다른 이름으로 바꾸고 제거하기 만하면됩니다.

-i {viminfo}매개 변수를 사용하여 다른 .viminfo 파일을 지정할 수도 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.