2

我最近才开始使用 vim 的折叠功能,它对它非常适用的语言非常有帮助。

我的问题在于 vim 注释掉 scilab 代码中折叠标记的方式。它默认为

/*{{{*/ and /*}}}*/

它在 C 等语言中效果很好,但实际上并不是 scilab 中的注释。尝试运行代码时出现乘法错误。

我试过添加

autocmd FileType scilab set fmr=//{{{,//}}}

到我的 .vimrc 文件,它并没有完全符合我的要求。结果是

/*//{{{*/ and /*//}}}*/

这仍然不是评论。代码“折叠”很好,但变得无法使用。我可以设置一个宏来用“//”替换“/*”的每个实例,但是当全局应用于文件时,这可能会产生意想不到的后果。

所以问题是:我如何为 scilab 文件设置 vim 折叠标记注释,这样它不会使文件不可用?

4

2 回答 2

3

您不向'foldmarker'自身添加注释,有一个'commentstring'选项会影响 Vim 如何围绕折叠标记(使用 创建折叠时zf)。尝试设置

:setlocal commentstring=//%s

为您的scilab文件类型。(输入命令~/.vim/after/ftplugin/scilab.vim使其永久化。)

于 2013-02-16T08:40:48.200 回答
1

在我看来,vim 不理解 SciLab 注释的工作原理。我不确定这些天 vim 是否带有 SciLab 语法逻辑,您的 SciLab 文件中的语法是否正确突出显示?如果没有,您可以从此处获取语法文件。

您想使用标记有什么特别的原因吗?实际上并不需要它们。如果您不希望 vim 按语法或缩进级别自动折叠,您仍然可以手动定义折叠

:set foldmethod=manual

这使您可以在可视模式下选择一大块文本并使用“zf”将其折叠起来。不需要标记。

有关各种 vim 折叠技术的更多信息,请点击此处

于 2013-02-15T22:06:44.953 回答