Отметить разницу как хорошо в vimdiff
У меня есть несколько больших json-файлов, которые мне нужно проверить на наличие ошибок, и мне было интересно, можно ли пометить различие как нормальное и применимо ли оно ко всему сеансу diff, исключая его в дальнейшем в файле.
пример
Name: Donald Duck | Name: Daisy Duck
Здесь я хотел бы иметь возможность пометить это изменение как "хорошо" diff (то есть я ожидаю имя и явное изменение пола).
2 ответа
Ну, способ сделать это в 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
Вы можете сделать это, например, с помощью sed или perl перед запуском vim -d.
Теперь те будут соответствовать. Но изменение от Дональда Дака до Микки Мауса не будет, равно как и от Даффи Дака до Дейзи Дака.