2016-11-24 2 views
1

私のプロジェクトではインデントの問題がいくつか修正されており、前と後のvimdiffの出力を見ています。変更のためにvimdiffの行位置を調整する方法はありますか?

例えば

Vimdiff confused

、非常に最初の行があると考えているようだ:私ははvimdiffはこのケースでほとんど役に立たない出力をレンダリングし、実際の変更が何であるかについての非常に混乱しているようだということに気づきます新しく追加された行:

<div class="text-xs-center p-4"> 

実際には、変更されたのはすべてインデントです。 Vimdiffは変更を正しく認識していません。別の、同様のファイルで

は、diffはかなりうまく機能:

Unconfused vimdiff

私は差が第2のファイルに私は最初の改行を削除していなかったということだと思います。

diffが正しく表示されるように、この種のものを手動で修正する方法はありますか?どちらのファイルも変更したくない場合、変更は正しいです。しかし、私はそれが間違った行を互いに比較していることをvimdiffに伝えたいと思います。

これは可能ですか?

+0

5の余分な空白行が原因である可能性があります。差は5行からEOFまでのすべての行が異なるように行単位で計算されます。 – romainl

答えて

1

下位のdiffツールは、「唯一の」インデントが変更されたかどうかにかかわらず、個々の行を比較します。あなたの最初の場合と同じように、余分な行が1つ余分にあるので、diffはそれを変更しないと認識し、これはdiff全体を混乱させます。あなただけのインデントが変更しまったことを確実にしたい場合は

は、あなたはその後、diffは全く変化を示さないはず

:set diffopt+=iwhite 

を経由して空白の変更を無視することができます(または、あなたの最初の例では、唯一の追加ライン5)。

さらに、これらのケースをよりインテリジェントに処理する他のdiffユーティリティもあります。そのようなツールを見つけたら、'diffexpr'でVimを使用するように設定することができます。

関連する問題