Vim 折叠 R 语法

发布于 2024-09-27 11:19:09 字数 121 浏览 5 评论 0原文

我在 Linux 机器上使用 vim,需要代码折叠才能适用于 R。我安装了 Vim-R-plusing2,以便将代码从 vim 传递到 R 会话,但当 Foldmethod=syntax 时,折叠不起作用。如何让 R 正常工作?

I'm working with vim on my linux machine and need code folding to work for R. I have the Vim-R-plusing2 installed to enable passing code from vim into an R session, but the folding does not work when foldmethod=syntax. How do I get folding for R working?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

╭⌒浅淡时光〆 2024-10-04 11:19:09

要做什么:

您需要将以下代码添加到 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| 和
|折叠命令|)。启用语法
R文件的折叠方法,放入
你的 |vimrc|:

<块引用>

让 r_syntax_folding = 1

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

What to do:

You need to add the following code to your vimrc file:

  let r_syntax_folding = 1 

Why it works:

This option changes how the Vim-R plugin loads.

This code is copied from syntax/vim.r and shows how the setting above changes what code is run:

" 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  

Quoting from the help

10.8. Fold setup~

Vim has several methods of folding
text (see |fold-methods| and
|fold-commands|). To enable the syntax
method of folding for R files, put in
your |vimrc|:

let r_syntax_folding = 1

With the above option, Vim will load R
files with all folds closed. If you
prefer to start editing files with all
folds open, put in your |vimrc|:

小鸟爱天空丶 2024-10-04 11:19:09

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

您甚至可以尝试 :help Folding 来获取详细说明。

Something similar, but referring to markdown, anyway you may find some useful info there.

You may try even :help folding for detailed descriptions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文