ESLint / Vim(或 neovim)工作流
ESLint / Vim (or neovim) workflow
我已经将 ESLint 与 Vim 以及各种其他插件(如 Ale 和 Prettier)一起使用。我现在很难再次设置。了解 ESLint 插件在没有任何其他插件或 Vim 或 neovim.
的任何其他配置的情况下的作用对我很有用。
我发现文档很难理解。我认为这部分是因为 ESLint 在许多情况下都可以工作,而不仅仅是 Vim`,而且所写的大部分内容都假设安装了其他插件,例如麦酒
我猜如果你正在编辑一个 Vim 文件(也许只有当它有 .js
扩展名时?)你可以进入正常模式并调用 ESLint(例如 :eslint
),然后查看指示的代码中的任何错误。
基础知识
为了简化,最好将 ESLint 视为独立的 command-line linter,与 Vim 或任何其他文本 editor/IDE.
默认使用模式是在您的 shell 中执行它,文件作为参数:
$ eslint goodfile.js
(no output)
$ eslint badfile.js
(list of errors)
它也可以用作过滤器:
$ echo 'console.log(1)' | eslint --stdin
(list of errors)
它也可以被告知去修复它能修复的,而不仅仅是报告它:
$ eslint --fix badfile.js
在Vim
与许多 command-line 程序(无论是否为 linter)一样,ESLint 可以从 Vim 以多种方式使用。
最简单的就是直接在当前文件上执行:
:!eslint %
(list of errors)
或者在当前缓冲区上,如果它没有写入磁盘:
:w !eslint --stdin
(list of errors)
但是该方法虽然提供了信息,但并不是很有用,因为一旦您按下 <CR>
,错误就会消失。
更好的方法是使用 :make
命令,它使用底层 linter 或编译器或其他任何报告的错误填充 quickfix 列表。一般来说,它是这样工作的:
- 告诉 Vim 将程序
foo
用于 :make
和 set makeprg=foo
。
- 告诉Vim如何用
set errorformat+=<pattern>
解析foo
的输出。
- 通过
foo
. 对当前文件运行做:make %
- 执行
:cwindow
以显示 foo
报告的错误列表,如果有的话。
在 ESLint 的情况下,如果你的 Vim 足够新,它应该带有所谓的“编译器脚本”(我写的),它基本上执行上面的步骤 #1 和 #2为你。你可以检查你是否有它:
:compiler eslint
如果出现错误,请考虑升级。
选择编译器后,您可以执行上面的步骤 #3 和 #4 来检查您的文件,老实说,这很乏味。
从那里,您可以选择三个路径之一:
- 继续这样做,因为这样很好,
- 多了解一下您的编辑器,以便使整个过程自动化,
- 放弃修补并使用 third-party 插件。
路径 #2 看起来像 this。它不是特别难或复杂,但我不会推荐给 copy/pasting 新手。
路径 3 涉及安装像 ALE 这样的插件,它有完整的文档记录并有专门的问题跟踪器。
我已经将 ESLint 与 Vim 以及各种其他插件(如 Ale 和 Prettier)一起使用。我现在很难再次设置。了解 ESLint 插件在没有任何其他插件或 Vim 或 neovim.
的任何其他配置的情况下的作用对我很有用。我发现文档很难理解。我认为这部分是因为 ESLint 在许多情况下都可以工作,而不仅仅是 Vim`,而且所写的大部分内容都假设安装了其他插件,例如麦酒
我猜如果你正在编辑一个 Vim 文件(也许只有当它有 .js
扩展名时?)你可以进入正常模式并调用 ESLint(例如 :eslint
),然后查看指示的代码中的任何错误。
基础知识
为了简化,最好将 ESLint 视为独立的 command-line linter,与 Vim 或任何其他文本 editor/IDE.
默认使用模式是在您的 shell 中执行它,文件作为参数:
$ eslint goodfile.js (no output) $ eslint badfile.js (list of errors)
它也可以用作过滤器:
$ echo 'console.log(1)' | eslint --stdin (list of errors)
它也可以被告知去修复它能修复的,而不仅仅是报告它:
$ eslint --fix badfile.js
在Vim
与许多 command-line 程序(无论是否为 linter)一样,ESLint 可以从 Vim 以多种方式使用。
最简单的就是直接在当前文件上执行:
:!eslint %
(list of errors)
或者在当前缓冲区上,如果它没有写入磁盘:
:w !eslint --stdin
(list of errors)
但是该方法虽然提供了信息,但并不是很有用,因为一旦您按下 <CR>
,错误就会消失。
更好的方法是使用 :make
命令,它使用底层 linter 或编译器或其他任何报告的错误填充 quickfix 列表。一般来说,它是这样工作的:
- 告诉 Vim 将程序
foo
用于:make
和set makeprg=foo
。 - 告诉Vim如何用
set errorformat+=<pattern>
解析foo
的输出。 - 通过
foo
. 对当前文件运行做 - 执行
:cwindow
以显示foo
报告的错误列表,如果有的话。
:make %
在 ESLint 的情况下,如果你的 Vim 足够新,它应该带有所谓的“编译器脚本”(我写的),它基本上执行上面的步骤 #1 和 #2为你。你可以检查你是否有它:
:compiler eslint
如果出现错误,请考虑升级。
选择编译器后,您可以执行上面的步骤 #3 和 #4 来检查您的文件,老实说,这很乏味。
从那里,您可以选择三个路径之一:
- 继续这样做,因为这样很好,
- 多了解一下您的编辑器,以便使整个过程自动化,
- 放弃修补并使用 third-party 插件。
路径 #2 看起来像 this。它不是特别难或复杂,但我不会推荐给 copy/pasting 新手。
路径 3 涉及安装像 ALE 这样的插件,它有完整的文档记录并有专门的问题跟踪器。