【问题标题】:Syntax folding in JavaScript files does not work in Vimvim 上的 Javascript 折叠不起作用
【发布时间】:2016-05-31 07:22:36
【问题描述】:

我已经开始在 ubuntu 上使用 Vim 7.4 并且对它非常满意,但只有一件事让我抓狂:代码折叠不起作用(至少对于 javascript)!

当打开 js 文件并且语法突出显示有效时,语法会自动设置为 javascript,所以我不明白。 foldmethod 最初设置为“手动”并将其设置为“语法”并没有什么不同,这让我感到困惑。我确实在我的 .vimrc 文件中添加了“let javaScript_fold=1”。

有什么线索吗?我将不胜感激。谢谢!

【问题讨论】:

  • foldmethod=indentfoldmethod=syntax 要笨得多,但跨语言也更加一致和可预测。而且速度很快。

标签: javascript linux vim folding


【解决方案1】:

我不知道您的解决方案为什么不起作用,但可能的解决方案是使用http://www.vim.org/scripts/script.php?script_id=1491 上提供的用户创建的vimscript

【讨论】:

    【解决方案2】:

    很难说出这个问题的确切原因,但如果您没有 javascript.vim 文件,您可能应该这样做。我建议从this enhanced javascript syntax config 开始。它可能会解决您的 javascript 折叠问题,等等。

    如果您只想关注折叠问题,您可以尝试在~/.vim/syntax/javascript.vim 中创建自己的 javascript.vim 文件,其中包含我在下面给出的代码行。您可能需要根据自己的喜好调整折叠级别(0 表示完全折叠)。但是,这个简单的版本不能很好地与包含大括号字符的 cmets 配合使用,这是您想要使用更强大的 javascript.vim 的地方,就像我链接的那样。

    syntax region foldBraces start=/{/ end=/}/ transparent fold keepend extend
    setlocal foldmethod=syntax
    setlocal foldlevel=0
    

    我应该补充一点,我自己和其他响应者都建议您需要一个 javascript.vim,实际上是由一些相同的贡献者提出的。但是,我建议的最后一次更新是在 2015 年 12 月,而不是 2009 年。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-01
      • 2011-04-25
      • 1970-01-01
      相关资源
      最近更新 更多