Guardar salida vimdiff?


Lo busqué en Google varias veces en el pasado, pero nunca he encontrado una respuesta. ¿Hay una manera de guardar la salida de vimdiff (preferiblemente mientras se mantienen los colores, los reflejos,etc.)? Me gustaría enviar este archivo de salida a otras personas y decirles "simplemente abra este archivo, aquí están las diferencias, lado a lado y resaltadas".

Si hay mejores alternativas a vimdiff para este propósito, estoy abierto a sugerencias, algo que funcionaría tanto en plataformas Windows como Linux es ideal.

 30
Author: danns87, 2011-09-19

5 answers

Vim puede exportar a HTML, ver:

:help :TOhtml
 24
Author: Raimondi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-20 15:40:40

Obtendrá una salida similar con el siguiente comando:

sdiff file1 file2 | colordiff
 7
Author: uzsolt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-19 19:52:19

Dos Compare dos archivos y escriba el resultado en un tercer archivo "basado en HTML". Abre una terminal y ejecuta este comando:

vimdiff  file1.txt file2.txt -c TOhtml -c 'w! diff.html' -c 'qa!'
 5
Author: zee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-19 16:41:49

Hay al menos dos opciones para guardar la coloración vim: es :TOhtml distribuido con el propio vim y más avanzado mi formato .vim plugin. Las ventajas de mi plugin sobre :TOhtml se describen en la página del plugin. Comando para formatear vimdiff a html:

:Format diffformat
 3
Author: ZyX,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-20 20:39:55
diff -u file1 file2 > outputfile
 1
Author: user6833918,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-15 06:28:22