23

この StackOverflow の回答には、行内の違いを強調する KDiff3 の画像があります。コマンドラインで同じことを(たとえば、色で)表示できるツールを知っている人はいますか?

これを考えるもう 1 つの方法は、パッチ ファイル内の各相違点を比較することです。

4

6 に答える 6

12

これがあなたの目的にとって十分なコマンドラインであるかどうかはわかりませんが、vimdiffはこれを行うことができます (カラーも行います)。たとえば、この関連する質問の画像を参照してください。

于 2009-08-27T16:50:20.760 に答える
7

wdiff、dwdiff、kdiff3、vimdiff など、見つかったすべてのツールを試して、2 つの長くてわずかに異なる行の違いを示しました。私のお気に入りはdiff-highlight(git contribの一部)です

  • diff 形式をサポートしています - (dwdiff) のような 2 つのファイルを必要とするツールよりも大きな利点があります。たとえば、単体テストの出力を視覚化する必要がある場合などです。
  • colordiffに接続すると、黒+白または色で強調表示されます
  • 文字ごとに強調表示 - スペースのない長い行を比較するのに役立ちます (wdiff よりも優れています)

インストール

Ubuntu では、おそらく既に git contrib ( gitdeb パッケージ内にインストールされています) の一部としてそれを持っています。から ~/bin フォルダーにコピーまたはリンクします。/usr/share/doc/git/contrib/diff-highlight/diff-highlight

使用例

cat tmp.diff | diff-highlight | colordiff

結果:

ここに画像の説明を入力

于 2016-06-16T14:42:49.530 に答える
5

すべての単語サイズの違いを (並べてではなく) 表示するもう 1 つの直感的な方法は、wdiffwithを使用するcolordiffことです (両方をインストールする必要がある場合があります)。この例は次のようになります。

wdiff -n {file-A} {file-A} | colordiff

必要に応じて、これを にパイプしless -Rて、出力をスクロールできます (-Rで色を表示するために使用されますless)。

于 2012-03-13T15:07:46.303 に答える
2

これなら使えるかもcolordiff

彼らのマニュアルページで

colordiff に渡されるすべてのオプションは、colordiff 固有のオプション 'difftype' を除いて、diff に渡されます。

colordiff --difftype=debdiff file1 file2

「difftype」の有効な値は次のとおりです。diff、diffc、diffu、diffy、wdiff、debdiff。これらは、プレーン差分、コンテキスト差分、統合差分、サイドバイサイド差分、wdiff 出力、および debdiff 出力にそれぞれ対応します。colordiff が差分タイプを自動的に判別できない場合は、これらのオーバーライドを使用します。

私はそれをテストしていませんが、横並びの出力 ( によって生成されるdiff -y file1 file2) は、インラインの違いと同等のものを提供する可能性があります。

于 2009-08-27T16:59:39.507 に答える