나는 파일을 비교하고 소스 코드 저장소를 업데이트할 때 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
변경 사항이 있는지 파일을 다시 검사합니다.