在vim中禁用折叠注释

时间:2013-11-22 22:04:08

标签: javascript vim

对于vim中的Javascript文件,有没有办法为foldmethod=syntax的评论禁用折叠?

我在vimrc中使用了以下折叠代码:

if has("folding")
    set foldenable
    set foldopen=hor,search,tag,undo
    set fillchars=diff:\ ,fold:\ ,vert:\

    function! JavaScriptFold()
            setl foldmethod=syntax
            setl foldlevelstart=1
            syn region foldBraces start=/{/ end=/}/ transparent fold keepend extend
    endfunction
endif    

调用JavaScriptFold折叠以下代码:

/**
 * Hello, this is a comment.
 */
function hello() {
    console.log('hello');
}

进入这个:

+--  3 lines: *
+--  3 lines: function hello() {

我希望它能够融入其中:

/**
 * Hello, this is a comment.
 */
+--  3 lines: function hello() {

我通过this Stack Overflow question on C comment folding发现了c_no_comment_fold,但我找不到Javascript的等价物。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

可用的JavaScript语法插件处于错误状态。你正在使用的那个有点奇怪(定义一个启用(某些)折叠的函数,默认启用注释折叠),并且有未使用的配置变量(javaScript_fold,它什么都不做)。

要停止评论的折叠,请直接编辑脚本并从fold行中删除syntax region javaScriptDocComment ...关键字,或将以下重新定义添加到~/.vim/after/syntax/javascript.vim

syntax clear javaScriptDocComment
syntax region javaScriptDocComment        matchgroup=javaScriptComment start="/\*\*\s*$"  end="\*/" contains=javaScriptDocTags,javaScriptCommentTodo,@javaScriptHtml,@Spell