개요
vimdiff는 Vim 에디터의 diff 모드를 활용하여 여러 파일을 나란히 표시하고, 변경된 부분을 자동으로 하이라이트하여 보여줍니다. 사용자는 Vim의 강력한 편집 기능을 그대로 활용하여 차이점을 탐색하고, 필요한 경우 변경 사항을 쉽게 병합할 수 있습니다.
주요 특징
- 사이드 바이 사이드(Side-by-side) 또는 상하(Top-bottom) 파일 비교
- 차이점 자동 하이라이트 및 동기화된 스크롤
- 변경 사항 탐색 및 선택적 병합 기능
- 최대 8개 파일 동시 비교 지원
- Vim의 모든 편집 및 탐색 기능 활용 가능
주요 옵션
vimdiff는 기본적으로 'vim -d' 명령어를 호출하므로, Vim의 다양한 명령줄 옵션을 활용할 수 있습니다. 다음은 vimdiff 사용 시 유용한 주요 옵션들입니다.
파일 지정
시작 설정
생성된 명령어:
명령어를 조합해 보세요.
설명:
`vimdiff` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
vimdiff를 사용하여 파일을 비교하고 병합하는 다양한 시나리오를 살펴봅니다.
두 파일 비교
vimdiff file_original.txt file_modified.txt
가장 기본적인 사용법으로, 두 파일 간의 차이점을 시각적으로 비교합니다.
세 파일 비교
vimdiff file_version1.txt file_version2.txt file_version3.txt
세 개의 파일을 동시에 비교하여 각 파일 간의 차이점을 한눈에 파악할 수 있습니다.
시작 시 특정 옵션 적용
vimdiff -c 'set diffopt=filler' fileA.txt fileB.txt
vimdiff를 시작할 때 `diffopt` 설정을 통해 빈 줄을 채우는 방식으로 비교를 시작합니다. 이는 파일 간의 줄 수가 크게 다를 때 유용합니다.
읽기 전용으로 파일 비교
vimdiff -R file_old.txt file_new.txt
파일 내용을 변경할 의도 없이 단순히 차이점만 확인하고 싶을 때 사용합니다.
설치
vimdiff는 Vim 에디터 패키지의 일부로 제공됩니다. 대부분의 리눅스 배포판에는 Vim이 기본적으로 설치되어 있거나, 패키지 관리자를 통해 쉽게 설치할 수 있습니다.
Debian/Ubuntu
apt 패키지 관리자를 사용하여 Vim을 설치합니다.
- 명령어: sudo apt update && sudo apt install vim
CentOS/RHEL/Fedora
yum 또는 dnf 패키지 관리자를 사용하여 Vim을 설치합니다.
- 명령어 (CentOS/RHEL): sudo yum install vim
- 명령어 (Fedora): sudo dnf install vim
macOS
Homebrew를 사용하여 Vim을 설치합니다.
- 명령어: brew install vim
팁 & 주의사항
vimdiff를 더욱 효율적으로 사용하기 위한 팁과 주의사항입니다.
주요 Vimdiff 내부 명령어
vimdiff 세션 내에서 사용할 수 있는 유용한 명령어들입니다.
- `[c` 또는 `:diffget` (이전 차이점으로 이동)
- `]c` 또는 `:diffput` (다음 차이점으로 이동)
- `dp` (diffput): 현재 버퍼의 변경 사항을 다른 버퍼로 적용
- `do` (diffget): 다른 버퍼의 변경 사항을 현재 버퍼로 가져오기
- `:diffupdate`: 수동으로 차이점 업데이트 (파일을 편집한 후 유용)
- `:qa` 또는 `:qall`: 모든 diff 창 닫고 종료
스크롤 동기화
기본적으로 모든 diff 창은 스크롤이 동기화됩니다. `set noscrollbind` 명령어로 특정 창의 스크롤 동기화를 해제할 수 있습니다. 다시 동기화하려면 `set scrollbind`를 사용합니다.
Diff 옵션 설정 (`diffopt`)
`set diffopt=<옵션>` 명령어를 사용하여 diff 표시 방식을 세밀하게 제어할 수 있습니다. 예를 들어, `set diffopt=filler,context:3`은 빈 줄을 채우고 3줄의 컨텍스트를 표시합니다.