自动代码格式化与 Vim 中的 Javascript Lint 冲突

Posted

技术标签:

【中文标题】自动代码格式化与 Vim 中的 Javascript Lint 冲突【英文标题】:Automatic Code formatting conflicts with Javascript Lint in Vim 【发布时间】:2012-03-16 03:46:53 【问题描述】:

要启用有效的代码格式化,我需要在我的.vimrc 文件中设置以下内容

filetype plugin indent on

如果我这样做,代码格式化 (gg=G) 就可以完美运行。但是,当我加载 javascript 文件时出现以下错误:

Error detected while parsing function <SNR>78_JSLint:
line 25
could not invoke JSLint

我必须将其设置回

filetype on

现在 Javascript Lint 可以工作(我不知道为什么它说“JSLint”,我已经设置了 Syntastic 以使用 Javascript Lint),但是代码格式现在不太可靠。如何做到这一点,以便我可以运行 Javascript Lint(通过 Syntastic)和正确的代码格式,而不会干扰另一个。

【问题讨论】:

【参考方案1】:

您可能在某个地方有另一个与语法冲突的 JS linting 插件(可能是 jslint.vim?),或者您不再使用该插件,但您的 .vimrc 中仍然有一个 autocmd

在您的 ~/.vim 文件夹中搜索“JSLint”

$ grep JSLint ~/.vim

查看调用的位置。

无论哪种方式,您的问题都与缩进无关。

【讨论】:

只有当我设置filetype plugin indent on时才会出现这种冲突吗?您能否详细说明为什么只有当我将plugin indent 添加到filetype on 时才会使用此插件 你是对的。我在 ~.vim/ftplugins/javascript` 中有一个插件文件。谢谢

以上是关于自动代码格式化与 Vim 中的 Javascript Lint 冲突的主要内容,如果未能解决你的问题,请参考以下文章

保存 .cpp 文件时在 vim 中自动格式化代码

vim 添加php自动补全 并格式化代码

003_vim使用tip

vim 粘贴代码格式

使用 astyle 格式化 Vim 代码(vimrc 中的 formatprg)

在 Vim 中格式化 Ruby 代码