11

エラーをチェックする必要があるいくつかの大きなjsonファイルがあり、違いをOKとしてマークし、それを差分セッション全体に適用して、ファイル内でそれをさらに削除できるかどうか疑問に思っていました。

Name: Donald Duck    |   Name: Daisy Duck

ここでは、この変更を「OK」差分としてマークできるようにしたいと考えています (つまり、名前と明らかな性別の変更を期待しています)。

4

2 に答える 2

3

まあ、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

もちろん、それよりも柔軟にしたいでしょうが、これは一般的な方法を提供するはずです

于 2011-10-07T17:26:26.153 に答える
1

それを行うための組み込みの方法はないと思います。しかし、私が思いついた方法は、ファイルを置換してから再差分することです。

たとえば、名前の変更に問題がない場合は、両方のファイルを次のように置き換えます。

%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 を使用してこれを行うこともできます。

これで一致します。しかし、ドナルドダックからミッキーマウスに変わっても、ダフィーダックからデイジーダックに変わっても変わらない.

于 2011-10-07T16:25:15.757 に答える