more/less 같은 pager 와 차이점을 표시하는 diff를 대체하는 delta 커맨드


delta 는 기존의 more 나 less 같은 pager 와 파일간 변경 사항을 표시하는 diff 를 대체하는 커맨드입니다.


문법 강조(syntax highlighting) 기능이 있으므로 기존 less 나 diff 에 비해서 변경 사항을 알아보기 쉬우며 line number 표시나 side-by-side view 기능등 편리한 기능을 갖추고 있습니다.


git 가 

설치

Source 빌드

Rust 개발도구를 설치하고 다음 명령어로 최신 버전을 사용할 수 있습니다.

cargo install git-delta

Packager Manager 사용

OSX

brew install git-delta


Windows

choco install delta

git 연동

.gitconfig 에 다음 내용을 추가합니다.

[pager]
    diff = delta
    log = delta
    reflog = delta
    show = delta

[delta]
    plus-style = "syntax #012800"
    minus-style = "syntax #340001"
    syntax-theme = Monokai Extended
    navigate = true

[interactive]
    diffFilter = delta --color-only


이제 git diff 를 실행하면 delta 가 구동됩니다.

git diff hello.c


사용

비교할 2 개의 파일을 지정하고 실행하면 diff 처럼 동작합니다.

delta hello.c world.c 


side-by-side

-s, --side-by-side 을 사용하면 side by side 로 차이점을 표시하므로 가독성이 더 좋습니다.

delta -s hello.c world.c 


git 에 연동하려면 .gitconfig 에 설정해 주면 됩니다.

[delta]
	side-by-side = true

theme 변경

--list-syntax-themes 를 사용하면 가능한 테마 이름을 볼 수 있습니다.

delta --list-syntax-themes

Light themes:
    GitHub
    Monokai Extended Light
    OneHalfLight
    Solarized (light)
    gruvbox-light

Dark themes:
    1337
    Coldark-Cold
    Coldark-Dark
    DarkNeon

테마를 변경하려면 ~/.gitconfig 를 수정해 주면 되며 다음은 Light 테마인 "Solarized light" 로 변경하는 예제입니다.

[delta]
    plus-style = "syntax #012800"
    minus-style = "syntax #340001"
  #  syntax-theme = Monokai Extended
    syntax-theme = Solarized (light)


테마가 어떻게 표시되는지 demo 를 보려면  --show-syntax-themes 옵션을 사용하면 됩니다.

delta --show-syntax-themes


Ref