2010-10-11 10 views
6

Estoy trabajando con vim en mi máquina Linux y necesito que el código se doble para trabajar para R. Tengo el Vim-R-plusing2 instalado para permitir pasar el código de vim a una sesión R, pero el plegar no funciona cuando foldmethod = sintaxis. ¿Cómo puedo doblar para que R funcione?Vim plegable en la sintaxis para R

Respuesta

6

Qué hacer:

Es necesario añadir el siguiente código a su archivo vimrc:

let r_syntax_folding = 1 

qué funciona:

Esta opción cambia la forma en la vim- R cargas de plugin.

Este código se copia de syntax/vim.r y muestra cómo el ajuste anterior cambios qué código se ejecuta:

" Error 
if exists("g:r_syntax_folding") 
    syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError fold 
    syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError fold 
    syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError fold 
else 
    syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError 
    syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError 
    syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError 
endif 

Citando de la ayuda

10,8. Fold setup ~

Vim tiene varios métodos para doblar el texto (ver | métodos-fold | y | fold-commands |). Para habilitar el método de sintaxis de plegado para los archivos de R, puesto en su | vimrc |:

Let r_syntax_folding = 1

Con la opción anterior, Vim cargar R archivos con todos los pliegues cerrado. Si prefiere empezar a editar archivos con todos pliegues abiertos, poner en su | vimrc |:

+0

FIN! Gracias. Ese no era realmente el problema, pero tu mensaje me decía lo que era. Comparando lo que estaba en tu respuesta con lo que estaba en mi código, encontré que las líneas 'syn region' omiten la opción fold al final. Entonces el plegado no estaba activado en esas regiones. Está arreglado ahora. –

1

Algo similar, pero refiriéndose a markdown, de todos modos puede encontrar información útil allí.

Puede probar incluso :help folding para obtener descripciones detalladas.