vimdiff를 사용하여 변경 사항을 복사하는 권장 방법은 무엇입니까?

vimdiff를 사용하여 변경 사항을 복사하는 권장 방법은 무엇입니까?

나는 파일을 비교하고 소스 코드 저장소를 업데이트할 때 vimdiff를 사용하는 것을 좋아합니다. 한 파일의 변경 사항을 다른 파일로 복사하려면 일반적으로 다음과 같은 키 시퀀스를 사용합니다.

Shift + V (select line)
k or j; { or }; Up or down arrow keys (select more lines)
y  (copy selected lines)
Ctrl + w, left/right arrow (move to other pane)
p (paste lines)

키보드 단축키의 대가인 Vim은 동일한 작업을 수행하는 더 쉬운 방법을 가지고 있어야 합니다. 그것을 가지고? 소스 코드 변경 사항을 수동으로 업데이트하려면 무엇을 사용합니까?

답변1

do(diff acquire) 및 dp(diff put)이 필요합니다. 다음은 이 상황에서 유용한 기타 일반 모드 명령의 작은 목록입니다.

]c               - advance to the next block with differences
[c               - reverse search for the previous block with differences
do (diff obtain) - bring changes from the other file to the current file
dp (diff put)    - send changes from the current file to the other file
zo               - unfold/unhide text
zc               - refold/rehide text
zr               - unfold both files completely
zm               - fold both files completely

노트:
일반 모드에서는 블록 위 또는 아래 행에 있지만 시각적 모드에서는 둘 다 do작동하지 않습니다. dp시각적 모드에서 텍스트 줄을 선택할 때 일반 명령을 사용해야 합니다.

  • :'<,'>diffget그리고
  • :'<,'>diffput.

당신은 또한 볼 수 있습니다 :h copy-diffs.

:diffupdate변경 사항이 있는지 파일을 다시 검사합니다.

관련 정보