Activar el modo Diff alternativo a través de una llamada de función en VIM/GVIM
Pregunta
en un pregunta reciente, Pregunté cómo hacer que Vimdiff ignore los espacios adicionales al comparar. Siguiendo la respuesta y algunas lecturas adicionales, intenté hacer lo siguiente:
.1. Localizar _vimrc
y encuentra el MyDiff()
definición de función. Contiene la línea:
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
.2. Duplicar la función como MyDiff2()
en _vimrc
, mientras cambia esa línea a:
if &diffopt =~ 'iwhite' | let opt = opt . '--ignore-all-space ' | endif
.3. Abierto gvim con dos archivos en modo DIFF, luego:
:set diffexpr=MyDiff2()
:set diffopt+=iwhite
:call MyDiff2()
y también:
:diffupdate
Esperaba que esto hiciera que Vimdiff ignore las diferencias como:r3=r2;
VS r3 = r2;
, pero no lo hace. ¿Porqué es eso?
Mi configuración es el siguiente:
diffexpr=MyDiff2()
diffopt=filler,iwhite,icase
Solución
Ok, parece que encontré una solución que funciona, siguiendo este pregunta. En lugar de usar --ignore-all-space
, Solía -w
Y ahora parece que GVIM ignora las diferencias entre r3=r2;
y r3 = r2;
.