본문 바로가기
컴퓨터 관련/Linux || Unix

리눅스에서 vim 파일 비교하는 방법 (vimdiff 사용)

by _BlankSpace 2019. 11. 10.

대부분 리눅스 OS를 사용하는 사람이라면, 문서 편집기로 vim을 사용하는 경우가 많을 것이다. 일단, 리눅스는 일반적인 사용자보다는 프로그램 개발자가 사용하는 경우가 많을 것이므로.. 여러 IDE가 있겠지만, vim을 사용하는 사람들이 종종 있을 것이다.

 

그러다 보면, vim에서도 파일끼리 비교를 해야 할 경우가 있을 것이다. 이럴 경우, 다른 문서를 이용하는 경우가 있는데, vim에서도 파일끼리 비교가 가능하다.

 

이번 포스팅에서는 파일끼리 비교하는 방법에 대해서 포스팅해보려고 한다.

 

일단, 이번 포스팅은 a.c와 b.c라는 두 파일로 비교를 할 것이므로 미리 숙지하자.

그럼 먼저, vim 파일끼리 비교하기 위한 명령어는 vimdiff 이다. 이제, vimdiff에 대해서 더 자세히 보자.

 

vimdiff로 파일을 열어보자.

아래 설명하는 명령어를 사용하면, 자동으로 파일끼리 다른 부분을 표시할 것이다.

 

vimdiff을 가장 쉽게 사용하는 방법은 아래와 같다. 아래 방법은 처음부터 두 파일을 vimdiff 모드로 열겠다는 것이다.

vimdiff a.c b.c

 

 

그럼, vimdiff를 이용하는 방법으로는 파일을 따로 열 수는 없을까?

물론, 파일을 하나씩도 열 수 있다.

// 수평으로 비교 파일을 열고자 하는 경우.
vim a.c // 먼저 a.c 라는 파일을 연다.
:diffs b.c // :diffsplit b.c 과 같다.

// 수직으로 비교 파일을 열고자 하는 경우.
vim a.c // 먼저 a.c 라는 파일을 연다.
:vert diffs b.c // :vertical diffsplit b.c 과 같다.

 

 

vimdiff에서 파일끼리 다른 부분을 같게 적용해보자.

먼저 파일은 위에서 설명한 것처럼 열면 된다.

vimdiff a.c b.c

 

파일을 열었다면, 다른 부분에 커서를 위치시킨다. 그 후, 아래처럼 두 가지 방법으로 명령어를 입력해보자.

1. 왼쪽 파일에 다른 부분의 내용을 오른쪽 파일에도 적용하는 방법.

명령어는 아래와 같다.

:diffput

 

약간 말이 헷갈릴 수도 있는데, :diffput 명령어를 이용하면 왼쪽에 있는 파일에 다른 내용이 오른쪽 파일에도 적용된다는 뜻이다. 헷갈리다면 직접 해보는 것도 방법이다.

명령어를 입력해보면, 아래 이미지처럼 오른쪽 파일의 내용이 변경되어 a.c 파일과 같다고 나올 것이다.

 

 

2. 왼쪽 파일에 오른쪽 파일의 다른 부분의 내용을 가져오는 방법.

명령어는 아래와 같다.

:diffget

:diffput과 유사한데, :diffget은 오른쪽에 있는 다른 부분의 내용을 왼쪽에 파일로 적용하는 것이다. 때문에, 아래 이미지에서는 왼쪽 파일이 b.c와 같다고 표시가 된다.

 

 

이 명령어는 vim 툴을 이용하는 사람에게는 꽤나 유용한 기능이라고 생각한다. vim 파일끼리 비교하려면 이 포스팅의 내용을 꼭 참고해보기를 바란다.

댓글