r emacs syntax-highlighting knitr
polymode.zippolymode.zip

knitr Markdown destacando en Emacs?



syntax-highlighting (2)

Tu problema

En primer lugar, dices que tienes GNU Emacs 23.3.1, pero en polymode readme.md , lee:

Probado con Emacs 24.3.1 y 24.4.5.

En cuanto a su error: "No se puede abrir el archivo de carga: color", en polymode.el , hay una línea:

(require ''color)

este paquete está en Emacs 24, pero bien podría fallar en tu versión.

Solución

  1. Actualice a una versión reciente (por lo tanto compatible) de Emacs.

  2. Extraiga el polymode.zip en un directorio donde guarde el material de Emacs, por ejemplo:

    ~/conf/emacs

y cambie el polymode-master dir polymode a polymode

  1. Agregue esto en su archivo init (y si usó diferentes nombres arriba, cambie los nombres debajo de acuerdo a esto):

    ;; Just an Emacs personal dir containing polymode packages etc. (setq MY-EMACS "~/conf/emacs") (defun my-emacs (subfolder) "Get path to personal dir + subfolder" (concat (expand-file-name MY-EMACS) "/" subfolder)) ;; ESS Markdown ;; ------------- (defun rmd-mode () "ESS Markdown mode for rmd files" (interactive) (setq load-path (append (list (my-emacs "polymode/") (my-emacs "polymode/modes/")) load-path)) (require ''poly-R) (require ''poly-markdown) (poly-markdown+r-mode)) ;; Wrap line in markdown. Comment if you don''t dislike words cut in the middle (add-hook ''markdown-mode-hook (lambda () (visual-line-mode 1))) ;; Let you use markdown buffer easily (setq ess-nuke-trailing-whitespace-p nil)

  2. Meta + rmd cuando el archivo Rmd está abierto o configura el modo en <!-- Local Variables: -->
    ... disfruta de un cambio dramático en tu productividad.

PD
No pase por alto la última línea de elisp. Permitirá guardar el descuento correctamente. De lo contrario, cuando vuelvas a abrir tu documento, tendrás sorpresas desagradables.

Una nota para los usuarios de Windows

Omita esto si es un tipo de Linux, pero, a pesar de la pregunta, mencione Ubuntu, mi respuesta también se aplica perfectamente a Windows Emacs. Solo con respecto a:

  • Paso 2) polymode.zip en:

    %USERPROFILE%/conf/emacs

    Como usted adivina, la variable de entorno% USERPROFILE% contiene la ruta a su directorio de perfil de usuario. Si no está seguro de qué se trata, ejecute set USERPROFILE en el indicador CLI.
    Como usuario de Windows, puede que esté acostumbrado a almacenar cosas en My Documents . En ese caso, tu directorio será:

    %USERPROFILE%/Documents/conf/emacs

  • Paso 3) Si en el Paso 2) usó la ruta %USERPROFILE%/Documents/conf/emacs , cambie la primera línea de código de la siguiente manera:

    (setq MY-EMACS "~/conf/emacs")

    para (tenga en cuenta las barras):

    (setq MY-EMACS "~/Documents/conf/emacs")

    En ambos casos (con y sin "Mis documentos"), es posible que prefiera más estilo de Windows:

    (setq MY-EMACS (substitute-in-file-name "$USERPROFILE/Documents/conf/emacs"))

¿Hay alguna modificación de una herramienta existente o de una nueva herramienta que resalte los bloques de sintaxis (color) del código R en un documento de reducción de knitr cuando se abre en Emacs?

Los trozos de Knitr que estoy viendo son bloques de triple backtick [```] que contienen código R en el interior.

EDITAR: cosas que probé hasta ahora:

- Ubuntu 12.04 con Emacs 23

emacs --version GNU Emacs 23.3.1

1. Polymode

https://github.com/vitoshka/polymode/issues/3

Estoy tratando de hacer que polymode sintaxis-resalte mis archivos Rmd, pero se queja de un archivo de carga de ''color'':

cd ~/.emacs.d git clone https://github.com/vitoshka/polymode.git

En mi archivo .emacs:

(add-to-list ''load-path "/home/avilella/.emacs.d/polymode/") (add-to-list ''load-path "/home/avilella/.emacs.d/polymode/modes/") ;; Require any polymode bundles that you are interested in: (require ''poly-R) (require ''poly-markdown)

eval-buffer:

Cannot open load file: color

- CentOS con Emacs 24:

emacs --version GNU Emacs 24.2.1

1. Polymode instalado correctamente

Abra un archivo Rmd, Mx polymode-minor-mode , sin cambios en el resaltado de sintaxis.

emacs --version GNU Emacs 24.3.1

1. Polymode instalado correctamente

Abra un archivo Rmd, Mx poly-markdown+r-mode , algunos de los resaltados de sintaxis comienzan a aparecer, pero necesito modificar manualmente la prueba en cada bloque de código triple para que muestre completamente la sintaxis.

La segunda imagen es justo después de escribir una devolución antes del bloque knitr.