Scilab的Vim代码折叠

时间:2013-02-15 21:34:45

标签: vim scilab code-folding

我刚刚开始使用vim的折叠功能,它对于它非常适合的语言非常有帮助。

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

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

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

我尝试过添加

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

到我的.vimrc文件,它并不完全符合我的要求。它导致

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

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

所以问题是:如何为scilab文件设置vim fold markers注释,以免它使文件无法使用?

2 个答案:

答案 0 :(得分:3)

您不会将评论添加到'foldmarker'本身,'commentstring'选项会影响Vim围绕折叠标记的方式(使用zf创建折叠时)。尝试设置

:setlocal commentstring=//%s

为您的 scilab 文件类型。 (将命令放在~/.vim/after/ftplugin/scilab.vim中以使其永久化。)

答案 1 :(得分:1)

听起来我觉得vim并不了解SciLab的评论是如何运作的。我不确定vim现在是否附带SciLab语法逻辑,是否在SciLab文件中正确突出了语法?如果没有,您可以从here获取语法文件。

您是否有特殊原因要使用标记?实际上并不需要它们。如果您不希望vim通过语法或缩进级别自动折叠,您仍然可以使用

手动定义折叠
:set foldmethod=manual

这使您可以在可视模式下选择一大块文本,并使用'zf'将其变为折叠。无需标记。

有关各种vim折叠技术的更多信息here