vim 이야기: 두 개의 file 비교하기

pynoos의 이미지

Vim diff 잘써보기

두개의 파일을 비교하는 방법은

vimdiff a.c b.c

이렇게 바로 실행하거나,

1) vim a.c
2) :diffs b.c              (:diffsplit b.c  로도 사용할 수 있습니다.)
3) ^wJ

이렇게 수평으로 열어서 세로로 맞출 수도 있구요.

1) vim a.c
2) :vert diffs b.c         (:vertical diffsplit b.c 로도 사용할 수 있습니다.)

이렇게 한 번에 열수도 있습니다.

1) vim a.c
2) :sp b.c
3) :diffthis
4) ^ww
5) :diffthis

위 방법은 두 개를 열어 놓고, diff 에 참여시키는 방법입니다.

vimdiff 는 vim의 softlink에 불과한데, vim은 구동시에 어떤 이름으로 시작되느냐에 따라 readonly, vi compatible, diff mode 등으로 전환되는 trick을 가지고 있습니다.

이상은 어떻게 하면 비교할 파일을 열어서 보는 다양한 방법을 설명한 것이고, 다음은 비교하는 파일을 편집하는 것을 알아 보겠습니다.

비교하는 파일의 편집이란, 한쪽의 내용을 다른쪽으로 copy하는 것을 말합니다.

:diffget

:diffset

명령입니다. 현재 cursor가 위치한 반대편의 내용으로부터 가져오거나 보내는 것이지요.

단, 복사하자 마자 같은 내용이 되기때문에 diff 화면에서는 사라집니다.
안보이는 거 보이게 하려면

zR
zM

을 사용하세요...

간단한 팁.. 정리해보면..

:diffsplit
:diffget
:diffput

세가지 명령어와

:vertical diffsplit
:diffthis

정도 알아 두시면 더 유용합니다.

^wJ

등에 대해서는 Vim Window Split에서 설명한바있습니다.

즐거운 vim 되시길..

Forums: 
oosap의 이미지

아니 이렇게 고마운 글에 답글이 없네요.. 몇년동안이나..
감사합니다. 잘 읽었습니다.

Thanks for being one of those who care for people and mankind.
I'd like to be one of those as well.

allmue의 이미지

이렇게 좋은 글 감사드립니다. ^^

_______
항상 겸손하게,
배움의 자세로 임하자.

afjkai의 이미지

많은 도움이 되었습니다 감사합니다.

tiger의 이미지

vim에 기능이 많다는 것은 알았지만, 또 새로운 것이 있네요. 정말 감사합니다.
혹시 질문도 가능할까요?
차이점을 표시할때, 한 라인에서 앞부분과 뒷부분이 다르면 중간에도 빨간색으로 표시되는데, option으로 라인 중간에 같은부분은 빨간색으로 표시 안하게 할수 있는지요?

ekh0324의 이미지

vertical diff가 가능하군요.
일단 나누고 나서 이동시켜서 쓰거나 그냥... 가로모드 디스플레이로 옴겨서 했는데 너무 감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.