소 예 공 방

[고군분투기] GIT과 함께 vimdiff 편리하게 사용하기

길위의행복 2011. 9. 30. 10:20

GIT으로 관리하고 있는 소프트웨어 프로젝트에서 수정한 파일들을 마지막으로 commit한  파일들과 비교하여 수정 내용을 간단히 확인하고자 할 때에는 아래 명령을 사용할 수 있다.


    $ git diff


하지만 수정한 내용이 많거나, 비교를 하면서 편집을 계속하고자 한다면 아래의 명령을 사용하는 것이 더욱 편리하다.


    $ git difftool -y -t vimdiff


위 명령을 실행하면 여러 종류의 비교 도구 중 하나인 vimdiff로 수정 내용을 보여 줄 것이다. vimdiff 창에서 수정 내용을 확인하고 편집을 하는데 편리하게 사용할 수 있는 명령들을 정리해 보았다.


1. 윈도우간 이동


    CTRL-W w : 다음 윈도우로 이동

    CTRL-W h : 왼쪽 윈도우로 이동

    CTRL-W j : 아래쪽 윈도우로 이동

    CTRL-W k : 위쪽 윈도우로 이동

    CTRL-W l : 오른쪽 윈도우로 이동


2. 윈도우 위치 옮기기


    CTRL-W H : 왼쪽으로 옮기기

    CTRL-W J : 아래쪽으로 옮기기

    CTRL-W K : 위쪽으로 옮기기

    CTRL-W L : 오른쪽으로 옮기기


  수직 분할 상태에서 윈도우를 상하로 이동시키면 수평 분할로 바뀐다. 


3. 폴더 열기 및 접기


  폴더 표시 (+, -)가 있는 행에서 아래 문자를 치면 폴더가 열리고 접힌다.


    zo : 폴더 열기

    zc : 폴더 접기


  모든 폴더를 한꺼번에 열거나 접을 수도 있다.


    zr : 모든 폴더 열기

    zm :  모든 폴더 접기


4. 수정한 곳으로 이동하기


    ]c : 다음 수정 부분으로 이동

    [c : 이전 수정 부분으로 이동


  앞에 숫자를 덧붙이면 여러 부분을 건너 뛰어서 이동할 수 있다.


5. 수정 내용 제거하기


  편집을 계속할 때 차이에 대한 하이라이트가 반영되지 않는 경우도 존재한다. 이 때는 아래 명령을 실행하여 하이라이트를 갱신할 수 있다.


    :diffupdate


  수정한 내용 중 일부를 제거하고자 한다면 아래 두 가지 명령 중 하나를 사용하면 된다.


    dp : 차이나는 부분의 원본 파일에서 원본 내용을 수정 파일에 적용 (diff put)

    do : 차이나는 부분의 수정 파일에서 원본 내용을 수정 파일에 적용 (diff obtain)