Existe alguma modificação de uma ferramenta existente ou nova ferramenta que irá realçar a sintaxe (cor) dos blocos do código R em um documento de marcação do knitr quando aberto no Emacs?
Os pedaços de knitr que estou olhando são blocos de backtick triplo [```]
que contêm código R dentro.
EDIT: coisas que tentei até agora:
- Ubuntu 12.04 com Emacs 23
emacs --version
GNU Emacs 23.3.1
1. Polimodo
https://github.com/vitoshka/polymode/issues/3
Estou tentando obter o polymode para realçar a sintaxe dos meus arquivos Rmd, mas ele está reclamando de um arquivo de carregamento de 'cor':
cd ~/.emacs.d
git clone https://github.com/vitoshka/polymode.git
No meu arquivo .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 com Emacs 24:
emacs --version
GNU Emacs 24.2.1
1. Polymode instalado corretamente
Abra um arquivo Rmd,, M-x polymode-minor-mode
nenhuma alteração no realce de sintaxe.
emacs --version
GNU Emacs 24.3.1
1. Polymode instalado corretamente
Abra um arquivo Rmd M-x poly-markdown+r-mode
, alguns dos realces de sintaxe começam a aparecer, mas preciso modificar manualmente o teste em cada bloco de código de triple-tick para que ele mostre totalmente a sintaxe.
A segunda imagem é logo após digitar um Return antes do bloco knitr.
fonte
polymode
: github.com/vitoshka/polymodeRespostas:
Isso pode ajudar: http://sjp.co.nz/posts/emacs-ess-knitr/
Knitr markdown no Emacs através do ESS
fonte
(setq ess-swv-processor 'knitr)
seu arquivo init.Seu problema
Em primeiro lugar, você diz que tem GNU Emacs 23.3.1, mas em
polymode
readme.md
, lê-se:Quanto ao seu erro: "Não é possível abrir o arquivo de carregamento: cor", em
polymode.el
, existe a linha:este pacote está no Emacs 24, mas pode muito bem faltar na sua versão.
Solução
Atualize para uma versão recente (portanto com suporte) do Emacs.
Extraia o polymode.zip em um diretório onde você guarda o material Emacs, por exemplo:
e mude o
polymode-master
dir resultante parapolymode
Adicione isso ao seu arquivo init (e se você usou nomes diferentes acima, altere os nomes abaixo de acordo):
Meta+
rmd
quando o arquivo Rmd é aberto ou defina o modo em<!-- Local Variables: -->
... desfrute de uma mudança dramática em sua produtividade.
PS
Não negligencie a última linha elisp. Isso permitirá salvar o markdown corretamente. Caso contrário, ao reabrir seu documento, você terá surpresas desagradáveis.
Uma nota para usuários do Windows
Pule isso se você for um cara do Linux, mas, apesar da pergunta mencionar Ubuntu, minha resposta se aplica perfeitamente ao Windows Emacs também. Apenas com relação a:
Etapa 2) Você irá extrair polymode.zip em:
Como você imagina, a variável de ambiente% USERPROFILE% contém o caminho para o diretório de seu perfil de usuário. Se você não tiver certeza do que é, execute
set USERPROFILE
no prompt CLI.Como um usuário do Windows, você pode estar acostumado a armazenar coisas no
My Documents
. Nesse caso, o seu dir será:Etapa 3) Se na Etapa 2) você usou o caminho
%USERPROFILE%\Documents\conf\emacs
, altere de acordo a primeira linha de código de:para (observe as barras):
Em ambos os casos (com e sem "Meus documentos"), você pode preferir o estilo mais Windows:
fonte