방금 파일에서 많은 텍스트를 삭제하고 저장했습니다.
이전 버전의 파일을 복원할 수 있나요?
백업을 하고 행운을 시험해 봐야 한다는 것을 알고 있습니다.
답변1
를 사용하는 경우 vim
삭제된 텍스트의 일부 또는 전부를 복구할 수 있습니다. 왜냐하면 vim은 마지막으로 삭제된 9개의 텍스트를 레지스터 1부터 9까지 저장하고 .viminfo
종료할 때 이 파일은 다음에서 호출되는 홈 디렉터리에 저장되기 때문입니다. 파일 vim
.
이 레지스터는 편집된 모든 파일에 대해 전역적으로 저장됩니다 ~/.viminfo
.아니요편집된 파일당 하나의 그룹입니다. 따라서 다른 파일을 편집하고 줄을 삭제하면 삭제된 텍스트의 일부 또는 전부가 사라집니다.
다른 파일에서 (많은) 행을 편집하고 삭제하지 않은 경우 삭제한 행 중 (일부)이 아직 남아 있을 가능성이 높습니다.
:registers
의 명령을 사용하여 텍스트가 여전히 이 레지스터에 있는지 확인할 수 있습니다 vim
.
실행
vim filename
(여기서 filename은 실수로 지운 파일의 이름입니다)를 입력
:registers
(또는 축약하여:reg
)하고 을 클릭합니다 enter.출력을 확인하여 텍스트와 유사한 내용이 있는지 확인하십시오.
예를 들어 내 시스템에는 다음과 같은 내용이 표시됩니다 vim
.
:reg
--- Registers ---
"" ^J
"0 ^J
"1 You can check to see if your text is still in those registers with the :registers command in vim.^J
"2 If you haven't edited and deleted lines from other files yet, there's a good chance your deleted lines will still be there.^J^J
"3 If you are using vim, you may be able to recover some or all of your deleted text because vim stores the most recent 9 deletion in registers 1 to 9, which are saved to a file called .viminf
"4 ^J
...
...
...
참고: ""
"이름이 지정되지 않은" 레지스터이며 항상 가장 최근에 복사되거나 삭제된 값을 포함하고 "0
현재 복사된 레지스터입니다. 자세한 내용은 다음을 참조하세요.vim 레지스터를 사용하는 방법. Google에서도 이 항목을 찾았습니다.블로그 게시물이것은 그것을 아주 잘 설명합니다.
:help registers
물론 도움말도 내장되어 있습니다.http://www.vim.org/, http://vim.wikia.com/wiki/Vim_Tips_Wiki그리고https://vi.stackexchange.com/일반 vim
정보에 대해 자세히 알아보세요.
레지스터에서 일부 삭제된 텍스트가 보이면 , "레지스터 번호를 차례로 입력하고 p이를 현재 위치의 현재 버퍼에 붙여넣습니다.
예를 들어, 위의 레지스터 1과 2를 복원하려면 다음을 입력합니다.
"1p"2p
이 레지스터는 현재 편집 버퍼에 붙여넣어집니다.
참고: 아무 것도 입력하면(예: "
레지스터 붙여넣기 시작) :registers
디스플레이가 사라집니다 . 따라서 복원하려는 레지스터를 기록해 두거나 :registers
필요할 때마다 자주 입력하도록 상기시키십시오.