【问题标题】:How Do I get a syntax check to work in/with vim?如何获得语法检查以在/与 vim 中工作?
【发布时间】:2011-12-17 02:27:03
【问题描述】:

这个问题已经在这里以一种或另一种形式被问过十几次了,这让我大吃一惊应该做的(它的 README 文件完全没用)

see here

谁能提供一些分步说明或此类说明的链接。我试图安装 jslint 和 spidermonkey,但我一无所获。


我设法让语法检查工作(感谢 romainl)。我在此过程中学到的一些东西可能会对遇到类似问题的人有所帮助

  1. 要构建Javascript Lint,请查找嵌套在jsl-x.x.x/src/README.html 中的自述文件
  2. 构建指令是gmake -f Makefile.refgmakesame thingmake 所以发出命令sudo ln -s /usr/bin/make /usr/bin/gmake
  3. jsl 现在可以在 jsl-0.3.0/src/Linux_All_DBG.OBJ/jsl 中找到。要使其普遍可访问,请执行以下操作:ln -s /whatever/jsl-0.3.0/src/Linux_All_DBG.OBJ /home/ForestGump/bin/jsl。更多信息here
  4. 要检查 jsl 是否确实有效,请找到一个测试文件 (here),然后发出命令 jsl -process test.js。它应该列出所有错误。
  5. 要自定义你的命令行,把它添加到你的vimrc文件set statusline=%{SyntasticStatuslineFlag()}

【问题讨论】:

    标签: vim syntax


    【解决方案1】:

    你做了什么?什么有效,什么无效?您收到错误消息吗?

    这是我所做的:

    1. JavaScript Lint site 下载了jsl 源。
    2. 构建 jsl 并将其移动到我的 $PATH 中的某个位置。
    3. 通过对随机 .js 文件运行它来检查它是否有效
    4. Pathogen 包的形式下载并安装了 Syntastic。
    5. 输入 :helptags /path/to/syntastic/doc 因为某种原因 Pathogen 的自动帮助标签生成对我不起作用。
    6. 阅读 Syntastic 的文档::help syntastic

    步骤 1 到 5 用时不超过 3 或 4 分钟,也许更短。

    第 6 步是强制性的,无论您尝试何种新工具。实时调频。

    我不需要在我的 .vimrc 中配置除了这 3 行之外的任何东西(我相信第三行是多余的):

    let g:syntastic_auto_loc_list=1
    let g:syntastic_disabled_filetypes=['html']
    let g:syntastic_enable_signs=1
    

    并通过以下方式自定义我的状态行:

    %{SyntasticStatuslineFlag()}
    

    编辑

    这是我的状态栏:

    set statusline=%<\ %n:%f\ %m%r%y%{SyntasticStatuslineFlag()}%=line:\ %l\ of\ %L,\ col:\ %c%V,\ win:\ %{WindowNumber()}\ 
    

    不要逐字复制,否则你会因为最后的函数调用而得到一些错误。在 syntastic 的帮助中有一段关于此的内容。

    结束编辑

    毕竟,如果你算上阅读文档的 10 或 12 分钟,我有一个非常有用的位置列表,并且每次保存有语法错误的 .js 文件时都会弹出标志。

    【讨论】:

    • 我通过了第 1 步),但我该如何构建呢?没有配置文件、make 文件,甚至没有 README 文件(或网站上的任何内容)
    • OK 我在 src 目录下找到了 README 文件,现在我得去安装一个名为gmake的命令
    • 我不确定我所做的是否有效,我不明白如何处理%{SyntasticStatuslineFlag()}。这会在我的 vimrc 文件中吗?当我把它放在那里时,它会产生一个错误。它看起来不像一个命令
    • 非常感谢您的帮助,我将为遇到此问题的其他人提供一些额外信息来编辑问题。
    • %{SyntasticStatuslineFlag()} 进入您的状态行。查看我的编辑。
    【解决方案2】:

    根据其README设置vundle。

    把它放到你的 .vimrc 中:

    Bundle 'scrooloose/syntastic'
    

    然后在vim中输入这个命令:

    :BundleInstall
    

    就是这样。

    编辑:自从我最初写这篇文章以来,Vundle 已经改变了它的语法。现在,你使用

    Plugin 'scrooloose/syntastic'
    

    然后输入

    :PluginInstall
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      相关资源
      最近更新 更多