テキスト差分比較とは?
テキスト差分比較ツールは、2つのテキスト間の正確な差異をハイライト表示します。追加、削除、変更が色分けされ、サイドバイサイドまたは統合ビューで確認できます。コードのバージョン、文書の改訂、設定ファイルの比較にも同じように使えます。
このツールは Myers アルゴリズムで比較し、ブロックの並べ替えも一行の手直しも同じように捉えます。行ごとに比べることも、文章向けに単語単位へ切り替えることもでき、「空白を無視」で書式だけの違いを飛ばし、「大文字小文字を無視」にすると大文字・小文字だけの違いは差分に数えません。「入れ替え」でどちらを元の側にするかを反転できます。結果は統合表示(+ と - の接頭辞付きで、コミットメッセージにそのまま貼り付け可能)でも、左右並べた表示でも読めます。長いファイルでは未変更の部分をたたみ、前へ/次への矢印で変更を一つずつたどれます。両方の入力は自由なテキストなので、コード、JSON、文章、ログ行のいずれも扱えます。
使い方
- 左側のパネルに元のテキストを、右側のパネルに変更後のテキストを貼り付けてください。
- ハイライトされた差異を確認してください。緑色が追加、赤色が削除、黄色が変更を示します。
- サイドバイサイド表示と統合差分表示を切り替えたり、差分出力をコピーしてドキュメントに活用してください。
使用するタイミング
- エッセイや契約書の修正稿を、最終版を送る前に自分で確認する。
- サービスが止まったとき、2つの設定ファイルの違いを特定する。
- 翻訳文を原文と照合し、抜けや余計な追加がないかを確認する。
結果
開発者が設定ファイルの2つのバージョンを貼り付けると、3行が追加、1行が削除、2行が変更されたことが即座に表示され、各変更箇所がコンテキスト内でハイライトされます。
よくある質問
- 文字単位の比較ですか、それとも行単位ですか?
- どちらも可能です。既定の行モードは行全体を1つの単位として扱うため、ひとつの打ち間違いでも旧い行全体が削除、新しい行が追加として表示され、行内で実際に変わった文字がハイライトされます。単語モードに切り替えると単語単位で比較するので、文章や設定値では読みやすくなります。
- 5000行のログのような大きいファイルでも動きますか?
- 動きます。長い入力では、変更のない大きなまとまりをツールが自動でたたみ、前後数行だけ残すので、実際に変わった部分が中心に見えます。差分の上にある上下の変更矢印で、編集箇所から次の箇所へ直接ジャンプできます。左右の列が窮屈なら統合表示に切り替えてください。
- 空白文字も差分として扱われますか?
- 既定では検出します。行末のスペース、余分な空行、タブとスペースの違いはすべて変更として表示されます。「空白を無視」にチェックを入れると、こうした書式だけの差は除外され、本当の編集だけが残ります。単語モードでも連続する空白は自動でまとめられます。
- 差分だけコピーできますか?元の2つの入力は不要です。
- できます。コピーボタンは+と-のマーク付きの統合diffを取得するので、プルリクエストの説明、メール、ドキュメントの注釈などにそのまま貼れます。
- git diffと同じものですか?
- 内部のアルゴリズムは近く(同じMyers diff)、同じ入力なら結果はgitの行単位diffと一致します。違いは、ここではリポジトリやコミット履歴がなくても任意の2つのテキストを比較できる点です。