【问题标题】:JSHint not working with VimJSHint 不适用于 Vim
【发布时间】:2012-11-27 19:34:24
【问题描述】:

使用 Ubuntu 12。

我用 jshint 安装了

sudo npm install jshint -g

which jshint

显示 /usr/local/bin/jshint,也在PATH变量中

然后,我下载了https://github.com/walm/jshint.vim/blob/master/plugin/jshint.vim 并放入~/.vim/bundle/jshint.vim(我用的是Pathogen)

现在,当打开一个 js-File 时,比如

vim test.js

未检测到错误。

:JSHint 

导致“不是编辑器命令:JSHint”

:Helptags 

结果,好吧,什么都没有。无论如何,我真的不明白该命令是做什么用的。

我是一个 vim 菜鸟,但其他病原体包似乎可以工作,所以我真的不知道这里有什么不工作..

【问题讨论】:

    标签: vim jshint pathogen


    【解决方案1】:

    安装插件的默认方法是将它们的各个部分放在~/.vim/ 目录的某些子目录中。以这个插件为例:

    ~/.vim/plugin/jshint.vim
    ~/.vim/doc/jshint.txt
    

    :Helptags 命令用于生成 Vim 用来浏览第三方插件文档的索引 (tags)。你应该这样使用它:

    :Helptags ~/.vim/doc
    

    Pathogen 和其他插件管理器背后的想法是每个插件都应该在自己的目录中,而不是分散在您的 ~/.vim/ 目录中。在 Pathogen 的情况下(以及其他人遵循,但没有标准),这是捆绑目录:~/.vim/bundle/

    因此,您的插件的正确位置应该是:

    ~/.vim/bundle/jshint/plugin/jshint.vim
    ~/.vim/bundle/jshint/doc/jshint.txt
    ~/.vim/bundle/jshint/README.md
    ~/.vim/bundle/jshint/LICENSE
    

    为了让病原体发挥它的魔力,您应该将这两行添加到您的~/.vimrc

    silent! call pathogen#infect()
    silent! call pathogen#helptags()
    

    第一行负责“注册”并加载在~/.vim/bundle/ 中找到的每个插件。第二行索引他们的文档,相当于:Helptags …,您不需要运行。

    那么……

    1. 确保 Pathogen 已正确安装和配置。

    2. 将 JSHint 插件安装在应有的位置。

    3. ?

    4. 享受在 Vim 中编写 JavaScript 的乐趣!


    要在每次写入时在当前缓冲区上运行:JSHint,请将此行添加到您的~/.vimrc

    autocmd! BufWritePost *.js JSHint
    

    【讨论】:

    • 很好,它有效。感谢您详尽的回答。不过,我还有 1-2 个问题。如何启用 JSHint 以便每次写入文件 (:w) 时执行 JSHint?现在它只在我手动调用 :JSHint 时才有效。其次,我在 JSHint 中得到的第一个错误/通知是 Bad option: 'ender',我想这与它的配置有关。你知道吗?
    • 我没有使用 JSHint 的经验,您必须按照手册正确配置它。我将为:w 编辑我的答案。
    • 检查您用于配置 jshint 的选项。例如,查看 ~/.jshintrc 并搜索选项“ender”。如果它在那里,请将其删除,它应该可以解决问题。
    猜你喜欢
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 2017-01-28
    • 2012-11-25
    • 2018-01-03
    • 1970-01-01
    相关资源
    最近更新 更多