7

我在我的 linux 机器上使用 vim,需要代码折叠才能为 R 工作。我安装了 Vim-R-plusing2 以启用将代码从 vim 传递到 R 会话,但是当 foldmethod=syntax 时折叠不起作用。我如何为 R 工作折叠?

4

2 回答 2

7

该怎么办:

您需要将以下代码添加到您的 vimrc 文件中:

  let r_syntax_folding = 1 

为什么有效:

这个选项改变了 Vim-R 插件的加载方式。

此代码复制自syntax/vim.r并显示上述设置如何更改运行的代码:

" 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  

从帮助中引用

10.8。折叠设置~

Vim 有几种折叠文本的方法(见 |fold-methods| 和 |fold-commands|)。要为 R 文件启用折叠的语法方法,在你的 |vimrc| 中输入:

让 r_syntax_folding = 1

使用上述选项,Vim 将加载所有折叠关闭的 R 文件。如果你喜欢在所有折叠打开的情况下开始编辑文件,输入你的 |vimrc|:

于 2011-01-24T09:50:20.170 回答
1

类似的东西,但指的是markdown,无论如何你可能会在那里找到一些有用的信息。

您甚至可以尝试:help folding 详细说明。

于 2010-10-11T19:56:00.603 回答