2013년 2월 13일 수요일

[Emacs] emacs-git-gutter

Sublime Text 2 용으로 GitGutter 라는 확장 플러그인은 Git에 등록된 파일을 편집하면 편집된 내용을 알 수 있게 라인번호 왼쪽에 뭔가를 표기해 주는 확장이다. 인기가 좋은지 유용한지는 잘 모르겠지만, 어쨌든 Emacs용으로도 이 git-gutter가 나왔다.


MELPA에 등록되어 있기 때문에 간단히 M-x package install git-gutter 로 설치가 가능합지만 개인적으로 MELPA를 사용하지 않아서 그냥 github 저장소에서 clone 떠서 설치해서 시험해 봤다.

설정은 단순하게 아래와 같은 식.
;; 설치된 경로
(add-to-list 'load-path "~/.emacs.d/vendor/emacs-git-gutter")
(require 'git-gutter)
(global-git-gutter-mode t)
global-git-gutter-mode를 활성화 시켰기 때문에 모든 파일에 자동으로 git-gutter가 동작하게 된다.

간단한 저장소를 하나 만들어서 테스트 해 봤다.

편집 도중에 바로 작동하는 건 아니고, 특정 파일을 저장소에 넣고(Staging이든 Working Area 이든) 이 파일을 편집하고 저장하면 왼쪽에 뭔가 표식이 나타난다.
위의 경우 +로 표시된 라인들은 모두 추가된 라인이다. 제일 첫 라인은 미리 작성해서 commit해 둔 내용이라 +가 표시되지 않는다.

간단히 생각해보면 수정 내역을 로그를 보지 않고도 알 수 있다는 점에서 커밋메시지 작성 시 유용하거나 혹은 자신이 어딜 건드렸는지 기억이 나지 않을 때 도움이 될 것 같다.

만약 모든 파일이 아니라 특정 모드에서만 동작시키고 싶다면 add-hook을 이용해서 활성화 시키는 방법도 제공된다. 위의 github 공식저장소의 문서를 잘 살펴보자.