vimdiff를 사용하여 변경 사항을 복사하는 권장 방법은 무엇입니까? + V (select line) k

파일을 비교하고 소스 코드 저장소를 업데이트 할 때 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은 반드시 동일한 작업을보다 쉽게 ​​수행 할 수 있어야합니다. 하나 있습니까? 소스 코드 변경 사항을 수동으로 업데이트하는 데 사용하는 것은 무엇입니까?



답변

do(diff get)과 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 변경 사항을 파일에서 다시 스캔합니다.


답변