Estoy usando Emacs para escribir ejemplos de código que luego deseo poder pegar en un documento de MS-Word, preservando el resaltado de sintaxis. Entiendo que para hacer esto necesito copiar el texto en formato RTF o HTML.
Actualmente solo estoy matando de Emacs en http://www.tohtml.com y luego copiando desde allí y pegando en Word. Me sorprende que alguien, en algún lugar, haya escrito algo de Lisp para hacer que este proceso sea al menos un par de pulsaciones más cortas, pero parece que no puedo encontrar ninguna solución existente ni nada en los documentos que sugiera que esto sea posible.
Entonces, estoy ansioso por saber si hay una solución preparada que pueda incluir en mi configuración o si alguien tiene algún indicador sobre cómo podría escribir algo para lograr esto.
Soy bastante nuevo en Emacs, me encanta, pero mi e-Lisp es actualmente muy básica.
fuente
Tengo esta función de elisp personalizada que utilizo para convertir una región seleccionada o todo el búfer a HTML con fuente de sintaxis.
Aquí hay algunos puntos sobre la
modi/htmlize-region-to-file
función:modi/htmlize-output-directory
directorio.ox-html
(org-mode
exportador de HTML) ya que usa laorg-html-htmlize-region-for-paste
función que usa elhtmlize
paquete detrás de escena y también permite personalizar cómo asociar CSS con el código HTML para la fuente.modi/htmlize-css-file
variable. Para usar esta función de inmediato, puede guardar este archivo css personalizado basado en temas leuven en algún lugar y establecer esta variable en esa ruta de archivo. Si usa ese archivo CSS, el código exportado siempre tendrá el tema Lovaina, independientemente de su tema emacs (que era mi único propósito para escribir esta función).Yo recomendaría instalar el
region-bindings-mode
paquete. Con eso instalado, simplemente seleccione la región que desea exportar y Hpresione ... ¡Voila! Su código se guardará en un archivo HTML enmodi/htmlize-output-directory
.Si lo hace
C-u H
, exportará el código y copiará el nombre del archivo de salida al kill-ring.C-u C-u H
, hará lo anterior y también abrirá el archivo HTML en su navegador predeterminado utilizando labrowse-url-of-file
función.A continuación se muestra lo que obtuve en mi navegador web cuando hice
C-u C-u H
parte del código anterior:NOTA: Necesito guardar el HTML en un archivo. Guardar el código HTML anotado solo en el portapapeles no funcionará para mí porque no sé cómo convertir el código html en el portapapeles directamente en html renderizado cuando pego en Outlook / Word.
fuente
ESH puede hacer esto:
(add-to-list 'load-path "/path/to/the/repo")
a su.emacs
.M-x load-library RET esh RET
para cargar ESHM-x esh-htmlfontify-display
(esto abre un navegador que muestra una página web generada (localmente) por ESH).fuente