delta について
Delta は Git の diff、blame、grep の出力にカラフルなシンタックスハイライト表示を追加します。Git のページャーとして統合でき、また 2 つのファイルを直接比較することもできます。出力がより読みやすくなり、コード確認と変更内容の確認が高速化します。
主な機能
- 01diff、blame、grep 出力のシンタックスハイライト表示
- 02diff ハンクをグループ化・折り畳み、長いファイルを折り畳む
- 03Git のデフォルトページャーとして統合
活用シーン
- 01コードレビュー中に大規模な変更を素早く理解する
- 02バージョン管理の複雑な diff 出力を扱う
- 03ターミナルでのファイル比較の可読性を向上させる
インストール
OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。
インストール後にdelta --versionを実行して確認します。
コマンド例
よく使うコマンドを使う順に並べています。
詳細
はじめに
インストールしてください(パッケージ名はほとんどのパッケージマネージャーで「git-delta」ですが、実行ファイルは単に delta です)。そのうえで、以下の内容を ~/.gitconfig に追加してください:
[core]
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true # use n and N to move between diff sections
dark = true # or light = true, or omit for auto-detection
[merge]
conflictStyle = zdiff3
または、次のコマンドを実行してください:
git config --global core.pager delta
git config --global interactive.diffFilter 'delta --color-only'
git config --global delta.navigate true
git config --global delta.dark true # or `delta.light true`, or omit for auto-detection
git config --global merge.conflictStyle zdiff3
Delta には多くの機能があり、高度にカスタマイズ可能です。詳しくは delta -h(簡易ヘルプ)または delta --help(完全なマニュアル)、あるいはオンラインのユーザーマニュアルをご覧ください。
機能
- bat と同じシンタックスハイライトテーマを使用した言語のシンタックスハイライト
- Levenshtein 編集推定アルゴリズムを使用した単語レベルの差分ハイライト
- 行の折り返しに対応したサイドバイサイド表示
- 行番号表示
- 大きな差分内のファイル間、および
log -p表示内の差分間を移動するためのnとNのキーバインド(--navigate) - 改善されたマージコンフリクトの表示
- 改善された
git blameの表示(シンタックスハイライト。--hyperlinksを指定すると、コミットをホスティングプロバイダーなどへのリンクとして表示します。対応しているホスティングプロバイダーは GitHub、GitLab、SourceHut、Codeberg です) rg、git grep、grepなどの grep 出力のシンタックスハイライト- Git の
--color-moved機能への対応 - 差分から直接コードをコピーできます(デフォルトでは
-/+マーカーが削除されます)。 diff-highlightおよびdiff-so-fancyのエミュレーションモード- コミットハッシュを、ホスティングプロバイダーのページへのターミナルハイパーリンクとして表示できます(
--hyperlinks)。 ファイルパスも、OS で開くためのハイパーリンクとして表示できます。 - コミット、ファイル、ハンク(差分の塊)のヘッダーセクションに注目を集めるための、スタイル設定可能なボックス/行の装飾
- 20 を超えるスタイル設定可能な要素に対して、Git と同じcolor/スタイル表記によるスタイル文字列(前景色、背景色、フォント属性)をサポート
- Git の出力に加え、従来の unified diff 出力にも対応
- ターミナルの背景が明るいか暗いかを自動検出
git、diff、grep の出力をシンタックスハイライトで表示するページャー
コードは日々変化し、私たちは皆、diff を読む時間を多く費やしています。Delta は、それを効率的かつ快適に行えるようにすることを目指しています。diff のレイアウトやスタイルを大幅に変更できる一方で、git/diff のデフォルトの出力にできる限り近い状態を保つこともできます。
|
|
git を delta を使うように設定した場合の git show の表示例は次のとおりです。
|
|
| "Dracula" テーマ | "GitHub" テーマ |
シンタックスハイライトのテーマ
bat で利用できるシンタックスハイライトのカラーテーマはすべて、delta でも利用できます。
|
|
delta --show-syntax-themes --dark
|
delta --show-syntax-themes --light
|
左右並列表示
[delta]
side-by-side = true
デフォルトでは、左右並列表示では行番号が有効になっており、左右のパネルの両方でシンタックスハイライトが適用されます: [設定]
![]() |
左右並列表示では、長い行が自動的に折り返されます:
![]() |
行番号
[delta]
line-numbers = true
![]() |
マージコンフリクト
![]() |
Git blame
![]() |
|
|
Installation and usage
Please see the user manual and delta --help.


