Vim에서 두 파일 비교


63

Vim에서 두 파일을 나란히 볼 수 있습니까? 그렇다면 편집기를 설정하여 어떻게 할 수 diff있습니까? Vim 내의 두 파일 사이에 방법이 있습니까?

나는 :next:prev명령을 알고 있지만 이것이 내가 추구하는 것이 아닙니다. 두 파일을 함께 보는 것이 정말 좋습니다.

답변:


43

나란히보기를여십시오.

Ctrl+w v

그들 사이의 변화 :

Ctrl+w h or l

체크 아웃 vimdiff의 당신이 사랑하는 같은보기를 원하는 경우, 명령, Vim은 패키지의 일부를 :

vimdiff file1.txt file2.txt

2
두 창 사이에서 스크롤을 잠그는 방법이 있습니까?
Zaid

1
예, vimdoc.sourceforge.net/htmldoc/options.html#%27scrollbind%27을 확인하십시오 . vimdiff에서는 이것이 기본값입니다.
maxschlepzig

1
나는 보통 커맨드 라인에서 "diff file1 file2"를 사용한다.
djangofan

2
@Zaid 사용 vimdiff file1.txt file2.txt(아래 참조)
Eduardo Cuomo

42

다음 -O옵션을 사용하여 분할 화면 모드에서 vim을 열 수도 있습니다.

vim -O file1 [file2 ...]

diff 모드를 켜려면 :diffthis각 창 에서 명령 을 실행해야합니다 .

또 다른 유스 케이스 시나리오는 vim에서 이미 열린 파일이 있고 다른 파일을 열고 비교하려는 경우입니다. 그런 다음 다음 vim 명령을 사용할 수 있습니다.

:vs otherfile (open otherfile in vertical split screen)
:diffthis (turn on diff mode in original file)
Ctrl+w l  (swap to newly opened file)
:diffthis (turn on diff mode in opened file)

그런 다음 vim 명령을 사용하여 각 창에서 diff 모드를 끌 수 있습니다 :diffoff.

편집
하고 언급되지 않은 다른 표준은 :-

vim -d file1 [file2 ...]

이것은 vimdiff직접 호출하는 것과 같습니다 .


11
:windo :diffthis마지막 세 명령 대신 사용할 수 있습니다.
Bernhard

2

또는 VIM에서 첫 번째 파일을 연 다음 :vert diffsplit file2 :vert화면을 세로로 나눕니다.

diffsplit diff를 수행하고 파일을 분할하고 스크롤하면 파일이 잠 깁니다.

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