Attivazione della modalità Diff alternativa tramite una chiamata di funzione in VIM/GVIM
Domanda
In un domanda recente, Ho chiesto come far sì che Vimdiff ignori gli spazi extra durante il confronto. Seguendo la risposta e alcune ulteriori letture, ho provato a fare quanto segue:
.1. Individuare _vimrc
e trova il MyDiff()
Definizione della funzione. Contiene la linea:
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
.2. Duplicare la funzione come MyDiff2()
in _vimrc
, mentre cambia quella linea in:
if &diffopt =~ 'iwhite' | let opt = opt . '--ignore-all-space ' | endif
.3. Aprire Gvim Con due file in modalità diff, quindi:
:set diffexpr=MyDiff2()
:set diffopt+=iwhite
:call MyDiff2()
e anche:
:diffupdate
Mi aspettavo che questo facesse ignorare Vimdiff come:r3=r2;
vs r3 = r2;
, ma no. Perché?
Le mie impostazioni sono le seguenti:
diffexpr=MyDiff2()
diffopt=filler,iwhite,icase
Soluzione
OK, sembra che io abbia trovato una soluzione che funziona, seguendo questo domanda. Invece di usare --ignore-all-space
, Ero solito -w
E ora sembra che Gvim ignori le differenze tra r3=r2;
e r3 = r2;
.