Costumo escrever documentos em knitr usando o vim, o que significa que tenho código de remarcação misturado com código R. Eu gostaria de ter a sintaxe R colorida nos pedaços R, mas com descontos ou sem cor em todos os outros fragmentos. Isso é factível? Quão?
syntax-highlighting
janeiro
fonte
fonte
s:syntax_include
es:file_type_handler
: github.com/junegunn/dotfiles/blob/master/vimrcg:markdown_fenced_languages
porvimrc
exemplo, deixe g: markdown_fenced_languages = ['r'] `. Suponho que você esteja usando a sintaxe de remarcação padrão fornecida por Tim Pope. Mais sobre idiomas protegidosRespostas:
Como observa Peter Rincker , a formatação padrão de descontos do Vim já inclui suporte para destacar o
r
código em um "bloco de código protegido" e, para habilitá-lo, basta definir uma variável global com o código emvimrc
:No entanto, depois de fazer isso, você verá que seus blocos de código knitr ainda não estão destacados.
Isso ocorre porque o knitr usa a formatação das strings de informações do Pandoc para diferenciar o código R que deve ser executado a partir de um bloco de código regular , e o destaque Markdown regular do Vim não suporta isso 1 .
A maneira mais fácil de corrigir isso é adicionar manualmente um item de sintaxe extra para corresponder a esse tipo de bloco de código, adicionando a seguinte linha a
~/.vim/after/syntax/markdown.vim
Você também pode considerar instalar um plug-in Vim para destacar o Pandoc, o que provavelmente ofereceria suporte a isso imediatamente.
1: Isso realmente não pode ser considerado um problema no arquivo de sintaxe de remarcação do Vim. A sintaxe original do Markdown não inclui nenhum bloco de código protegido, e a especificação CommonMark não define como as seqüências de informações devem ser formatadas.
fonte