Diferentes configuraciones para vim y vimdiff

Vimdiff es una utilidad muy importante de vim. Nos muestra en colores las diferencias entre dos o más ficheros o directorios y además podemos utilizarla como herramienta de "merge".
Dado que vimdiff es sencillamente vim en modo diff, se carga el mismo fichero .vimrc. Asi que si deseamos definir distintas opciones según el modo que utilicemos os propongo ésta solución:

Crear una función como:
function Vimdiff()
    nmap <F7> [czz
    nmap <F8> ]czz
    nmap <F2> do
    nmap <F3> dp
endfunction

Y a continuación la magia, añadimos al final de nuestro .vimrc lo siguiente:
au FilterWritePre * if &diff | call Vimdiff() | endif

He definido que las teclas F7 y F8 vayan a la anterior y posterior diferencia y centren la pantalla en estas. Las teclas F2 y F3 mueven los cambios de un lado del buffer al otro.

Espero os sea útil.