편집하는 동안 외부 변경 사항을 병합


10

Vim에서 편집중인 파일에 대한 외부 변경 사항이 있으면에 의해 파일 내용을 다시로드 할 수 있음을 이해합니다 :edit. 그러나 (내부적으로) 보존하려는 파일을 변경했다고 가정하십시오. 두 가지 변경 세트 (외부 및 내부)를 통합 할 수있는 방법이 있습니까? 내가 이해 한 것에서 :edit간단히 외부 변경을 수행합니다.


3
읽어야 :h autoread합니까? 찾고 계십니까?
statox

2
:autoread외부 변경 내용을 읽지 만 자동으로 읽은 파일이 변경되는 경우 vim은 내부 편집을 수행 한 이후 파일에 대한 외부 변경 사항이 있음을 알려줍니다. 외부 변경 사항을 내부 변경 사항과 병합하는 방법을 찾고 있습니다.
fuzzybear3965

5
찾고있는 :h :DiffOrig?
Christian Brabandt

@ChristianBrabandt, 너무 늦지 않았어? 이것은 좋은 대답이었습니다. 나는 이것이 존재한다는 것을 몰랐다.
fuzzybear3965

답변:


3

Christian Brabandt 의 의견 을 자세히 설명하기 위해 다음 DiffOrig명령을 분해합니다 .

전체 명령 :

command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
    \ | wincmd p | diffthis

분해:

command DiffOrig        " create a new command named DiffOrig
vert new                " open a new buffer splitted vertically
| set bt=nofile         " set buffer type to scratch 
| r #                   " read the alternate buffer (opened file to diff)
| 0d_                   " delete the first line
| diffthis              " diff the current buffer
| wincmd p              " move cursor to opened file 
| diffthis              " diff the current buffer

대체 버전 ++edit은 읽기 옵션을 사용 하며 파일을 편집하는 것처럼 옵션 값을 유지합니다.

참고 문헌 :

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