vim 버퍼의 변경 사항을 패치 파일로 저장하는 방법은 무엇입니까?

vim 버퍼의 변경 사항을 패치 파일로 저장하는 방법은 무엇입니까?

vim 버퍼에 변경한 내용을 별도의 파일로 저장하고 diff를 사용하지 않고 원본 파일에 패치 파일로 저장할 수 있는 방법이 있나요?

답변1

이 명령을 사용하면 플러그인 없이 이 작업을 수행할 수 있으므로 w쉘 명령에서 버퍼 내용을 사용할 수 있습니다.

:w !diff -au "%" - > changes.patch

( %편집 중인 파일의 경로로 대체됨, -표준 입력에서 버퍼 읽기)

답변2

diff다음 구문을 사용하여 버퍼를 필터링할 수도 있습니다 %!.

:%! diff -au "%" -

readonly이렇게 하면 디스크에 기록하는 대신 차이점으로 버퍼가 채워집니다. 실수로 원본 파일을 손상시키지 않도록 설정해야 할 수도 있습니다. (OTOH, 파일이 버전 제어 대상이므로 심각한 문제는 아닙니다.) ,옳은?). 물론 반대 명령을 사용하면 도움이 됩니다.

:%! patch -o - "%"

이렇게 하면 diff가 수정된 파일로 다시 변환됩니다.

관련 정보