As Peter Rincker notları , biçimlendirme Vim'ın standart markdown zaten vurgulayarak için destek içerir r
, bir "çit kod bloğu" içinde kod ve etkinleştirmek için, sadece kod ile küresel değişkeni ayarlamak zorunda vimrc
:
let g:markdown_fenced_languages = ['r']
Ancak, bunu yaptıktan sonra, knitr kod bloklarınızın hala vurgulanmadığını göreceksiniz.
Bunun nedeni knitr'ın normal kod bloğundan çalıştırılacak R kodunu ayırmak için Pandoc'un bilgi dizelerini biçimlendirmesini kullanması ve Vim'in düzenli Markdown vurgulamasının bunu desteklememesi 1 .
Bunu düzeltmenin en kolay yolu, aşağıdaki satırı ekleyerek bu tür kod bloğuyla eşleşmesi için manuel olarak fazladan bir sözdizimi öğesi eklemektir. ~/.vim/after/syntax/markdown.vim
syntax region markdownHighlightr matchgroup=markdownCodeDelimiter start=/^\s*```{r}.*$/ end=/^\s*```\ze\s*$/ keepend contains=@markdownHighlightr
Pandoc vurgulama için bunu kutudan çıkardığı tahmin edilen bir Vim eklentisi de yüklemeyi düşünebilirsiniz.
1: Bu gerçekten Vim'in işaretleme sözdizimi dosyasında bir sorun olarak kabul edilemez. Orijinal Markdown sözdizimi hiç kod blokları çit içerir etmez ve CommonMark Spec bilgi dizeleri nasıl biçimlendirilmesi gerektiğini tanımlamaz.