我有几个较大的JSON文件需要检查错误,想知道是否可能将差异标记为“ok”,并使其在整个差异会话中生效,从而在文件进一步处理时将其消除。
例子:
例子:
Name: Donald Duck | Name: Daisy Duck
我希望能够将此更改标记为“ok”差异(即我预期姓名和表面性别发生变化)。
Name: Donald Duck | Name: Daisy Duck
我希望能够将此更改标记为“ok”差异(即我预期姓名和表面性别发生变化)。
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
我认为没有内置方法可以实现这一点。但我想到的方法是在文件上进行替换,然后重新 diff。
例如,如果名称更改可行,则只需在两个文件中进行替换:
%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来完成此操作。
现在这些将匹配。但是从唐老鸭到米奇老鼠的更改不会匹配,也不会从达菲鸭到黛西鸭。