エラーをチェックする必要があるいくつかの大きなjsonファイルがあり、違いをOKとしてマークし、それを差分セッション全体に適用して、ファイル内でそれをさらに削除できるかどうか疑問に思っていました。
例
Name: Donald Duck | Name: Daisy Duck
ここでは、この変更を「OK」差分としてマークできるようにしたいと考えています (つまり、名前と明らかな性別の変更を期待しています)。
まあ、vim でそれを行う方法は、単にカスタム diff 式を行うことです
たとえば、これは .vimrc に入れる必要があります
set diffexpr=MyDiff()
function! MyDiff()
let opt = ""
if &diffopt =~ "icase"
let opt = opt . "-i "
endif
if &diffopt =~ "iwhite"
let opt = opt . "-Ewb "
endif
silent execute "!diff -I 'Duck' " . opt . v:fname_in . " " . v:fname_new .
\ " > " . v:fname_out
endfunction
もちろん、それよりも柔軟にしたいでしょうが、これは一般的な方法を提供するはずです
それを行うための組み込みの方法はないと思います。しかし、私が思いついた方法は、ファイルを置換してから再差分することです。
たとえば、名前の変更に問題がない場合は、両方のファイルを次のように置き換えます。
%s/Name: Donald Duck/Name: placeholder_1/g ; in file 1
%s/Name: Daisy Duck/Name: placeholder_1/g ; in file 2
vim -d を開始する前に、たとえば sed または perl を使用してこれを行うこともできます。
これで一致します。しかし、ドナルドダックからミッキーマウスに変わっても、ダフィーダックからデイジーダックに変わっても変わらない.