46

vimdiff を使用して、差分ファイルに記述されている違いを表示するにはどうすればよいですか?

4

4 に答える 4

57

/usr/bin/vimdiffコマンドを使用する代わりに、次のことを試してください。

$vimファイル
:vertical diffpatch path / to / diff

:vert diffpa略して。)
これはvimdiff、元のファイルとその後にパッチが適用されたファイルを呼び出すのと同じですが、一時ファイルを呼び出しますvimpatch

編集

vimのdiff-modeを自動的に入力する場合は、次を使用します。

$ vim file +'vert diffpa path / to / diff'

ここで、「コマンド」の実行を+command要求します。vim+123123行目に+/abcジャンプし、「abc」の最初の一致にジャンプします。すべて文書化されています。)

Kenのクエリについて:diffファイルに、現在編集しているファイル以外のファイルに適用されるハンクが含まれている場合でも、心配する必要はありません。vim下にある実行可能ファイルを呼び出しpatchます。これにより、これらの不思議な欠落ファイルの場所が尋ねられ、patchそれらのハンクをスキップするように指示できます。

于 2008-10-28T20:34:51.360 に答える
3

反対方向から来る。最後に保存してからファイルに加えられた変更をvimdiffまたはunifieddiff形式で表示するVimプラグインを作成しました。

ここで入手:diffchanges.vim

于 2008-10-29T16:39:14.550 に答える
2

元のファイルのコピーを作成し、差分を適用してから

vimdiff original_file patched_file

svn diff 出力を処理するために作成されたvim.org スクリプトも参照できます。バージョン管理システムから差分を生成している場合は、 vcscommand.vim : CVS/SVN/SVK/git integration pluginを見てください。

于 2008-10-28T09:44:25.887 に答える
1

これに vimdiff を使用する理由について詳しく教えてください。

たとえば、(統一された) 差分ファイルで文字ごとの違いを視覚化しますか? . もしそうなら、誰かが同じことについて私の質問に答えて、基本的に差分でemacsを起動し、ヒットしてハンクを循環させ、途中で単語ごとまたは文字ごとの変更を適切に強調することを提案しました(vimdiffに似ています) ALT-nうまく機能しますが、これを行うためだけに emacs を起動するのは残念です。私はそれを行うのに十分なemacsを知っているだけで、パッチをいじらずに終了します。:)

とにかく、emacsの答えは私にいくつかのアイデアを与えてくれました。Vim は、おそらく ediff のような diff ファイルのより良い強調表示を提供するように誘導できると確信しています。しばらく前にこれを調べたところ、vim ユーザー リストの誰かがgoogle-diff-match-patch を組み込むという優れた提案をしました。たとえば、Python インターフェイスは Python Vim ftplugin から使用できます。

これが素晴らしい答えではないかもしれないときに返信するために「答え」を使用して申し訳ありません.

後世のために、別の同様の質問への参照を次に示します(すでにここにもリンクされています)。

于 2010-11-12T22:35:22.743 に答える