Чтобы добиться этого, вы можете добавить в ваш .vimrc следующее (простое изменение из примера, найденного при запуске :h diffexpr
в vim):
set diffexpr=MyDiff()
function! MyDiff()
let opt = ""
if exists("g:diffignore") && g:diffignore != ""
let opt = "-I " . g:diffignore . " "
endif
if &diffopt =~ "icase"
let opt = opt . "-i "
endif
if &diffopt =~ "iwhite"
let opt = opt . "-b "
endif
silent execute "!diff -a --binary " . opt . v:fname_in . " " .
\ v:fname_new . " > " . v:fname_out
endfunction
Примечательно, что функциональность, предоставляемая переключателем -I
(или --ignore-matching-lines=
) для diff
, будет игнорировать ТОЛЬКО измененные строки, где строка в ОБА (или во всех) файлах соответствует этому выражению.
См. man diff
для получения дополнительной информации о переключателе --ignore-matching-lines=RE
и :h diffexpr
в vim для получения дополнительной информации об этом.
РЕДАКТИРОВАТЬ: Добавлена необязательная переменная g:diffignore
для управления, какой шаблон использовать. Также используется function!
для принудительной замены при определении.