# Delta: Git, diff, grep, blame 출력용 구문 강조 페이지 뷰어

> Clean Markdown view of GeekNews topic #17669. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17669](https://news.hada.io/topic?id=17669)
- GeekNews Markdown: [https://news.hada.io/topic/17669.md](https://news.hada.io/topic/17669.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-11-09T16:33:16+09:00
- Updated: 2024-11-09T16:33:16+09:00
- Original source: [github.com/dandavison](https://github.com/dandavison/delta)
- Points: 3
- Comments: 1

## Topic Body

#### 시작하기

- 패키지 이름은 "git-delta"이며, 실행 파일은 `delta`임.
- `~/.gitconfig`에 다음을 추가하여 설정할 수 있음:
  ```ini
  [core]
  pager = delta
  [interactive]
  diffFilter = delta --color-only
  [delta]
  navigate = true  # diff 섹션 간 이동을 위해 n과 N 사용
  [merge]
  conflictstyle = zdiff3
  ```
- Delta는 다양한 기능을 제공하며 사용자 정의가 가능함. 사용자 매뉴얼을 참조할 수 있음.

#### 기능

- **언어 구문 강조**: bat과 동일한 구문 강조 테마 사용 가능.
- **단어 수준 차이 강조**: Levenshtein 편집 추론 알고리듬 사용.
- **나란히 보기**: 줄 바꿈 기능 포함.
- **줄 번호 표시**.
- **파일 간 이동**: 큰 diff에서 n과 N 키로 파일 간 이동 가능.
- **향상된 병합 충돌 표시**.
- **향상된 git blame 표시**: 구문 강조 및 커밋을 호스팅 제공자 링크로 포맷 가능.
- **grep 출력 구문 강조**: `rg`, `git grep`, `grep` 등 지원.
- **Git의 `--color-moved` 기능 지원**.
- **코드 복사 가능**: 기본적으로 `-/+` 마커 제거.
- **`diff-highlight` 및 `diff-so-fancy` 에뮬레이션 모드**.
- **커밋 해시를 터미널 하이퍼링크로 포맷 가능**.
- **스타일 가능한 박스/라인 장식**: 커밋, 파일, 청크 헤더 섹션 강조.
- **스타일 문자열 지원**: 20개 이상의 스타일 요소에 대해 전경색, 배경색, 글꼴 속성 사용 가능.
- **전통적인 통합 diff 출력 및 git 출력 처리**.
- **밝은/어두운 터미널 배경 자동 감지**.

#### Git, diff, grep 출력을 위한 구문 강조 페이지

- Delta는 코드의 변화를 효율적이고 즐겁게 분석할 수 있도록 도와줌.
- 레이아웃과 스타일을 광범위하게 변경할 수 있으며, 기본 git/diff 출력과 가깝게 유지 가능.

##### 구문 강조 테마

- **bat과 동일한 구문 강조 색상 테마 사용 가능**:
  - `delta --show-syntax-themes --dark`
  - `delta --show-syntax-themes --light`

##### 나란히 보기

- 기본적으로 나란히 보기에는 줄 번호가 활성화되어 있으며, 왼쪽과 오른쪽 패널 모두 구문 강조가 적용됨.

##### 줄 번호

- `delta` 설정에서 줄 번호를 활성화할 수 있음.

##### 병합 충돌

- 사용자 매뉴얼을 참조하여 병합 충돌을 처리할 수 있음.

##### Git blame

- 사용자 매뉴얼을 참조하여 git blame을 향상시킬 수 있음.

##### Ripgrep, git grep

- 사용자 매뉴얼을 참조하여 ripgrep 및 git grep 출력을 구문 강조할 수 있음.

##### 설치 및 사용

- 사용자 매뉴얼과 `delta --help`를 참조할 수 있음.

##### 유지보수자

- @dandavison
- @th1000s

## Comments



### Comment 31088

- Author: neo
- Created: 2024-11-09T16:33:17+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=42091365) 
- Delta는 설정 후 잊어버릴 수 있는 도구로, git grep/diff/blame 출력 대신 자주 사용됨. ripgrep과도 호환됨을 알게 됨
  - bat도 비슷하게 설정 후 잊어버릴 수 있는 도구로, cat을 bat으로 alias하여 사용 중임
- 기본 git으로도 적당한 수준의 단어 단위 diff를 얻을 수 있음
  - `git diff --color-words --word-diff-regex='\w+|.'` 명령어 사용
- Delta는 유용하지만 긴 줄을 잘라내는 문제가 있었음. 이 문제는 `git config --global --replace-all delta.max-line-length 0` 설정으로 해결됨
  - 기본 설정이 아닌 이유는 불분명함
- Delta와 difftastic을 혼합하여 사용 중이며, 특히 difftastic은 tree-sitter AST 구문에 유용함
  - Delta는 깔끔하고 매우 빠름
- Delta 사용을 막는 요인은 "시스템" 테마 감지 부족임. 테마가 쉘과 맞지 않으면 읽기 어려움
- 일반 `git diff` 도구를 색상과 함께 사용했지만, Delta는 너무 복잡함
- Delta와 difftastic을 모두 사용 중이며, 강력히 추천함
  - 터미널을 사용하는 사람이라면 꼭 사용해보길 권장함
- bat을 좋아하며, Delta와도 연결됨
- Delta를 사랑하며, 항상 사용하지는 않지만 보통 사용함. 누구에게나 시도해보길 추천함
- 작성자가 magit 통합도 작성한 것으로 보임
  - 사용자 피드백(성능 등)에 대한 의견을 구함
