我是一个相当新的Vim用户,我发现它的学习曲线相当陡峭(至少对我来说)。我刚刚安装了这个用于JavaScriptLint错误检查的Vim脚本,一旦我保存了缓冲区,它就会在Vim的快速修复窗口中显示错误。
但是,我不知道下一步该怎么做..我如何“滚动”所有的错误?我如何关闭快速修复“窗口”?我如何让它检查错误后,我做了我的代码更改?
我看过vim的quickfix文档,但是命令太多了,我好像找不到我想要的。任何帮助都将不胜感激。
附带问题:有没有办法让javascriptlint检查驻留在.html文件中代码的js错误?
9条答案
按热度按时间lc8prwob1#
正如你所说的,有很多用于quickfix的命令,但我倾向于发现我只使用其中的一小部分:
我倾向于在
:make
和:vimgrep
中使用这个工具,所以我不能对Javascript lint检查器进行评论,但这应该可以给予您开始使用它。关于JavascriptLint的一般用法,我不是一个javascript程序员,但是看起来脚本公开了一个名为“JavascriptLint”的函数,所以如果你想手动调用它,你可以使用
:call JavascriptLint()
。但是,它在文件的磁盘副本上工作,所以必须先保存它。如果(并且仅当)命令行jsl
可以处理html文件时,您应该可以在html文件上使用:call JavascriptLint()
来检查内部javascript。如果
jsl
不支持html文件,那么(除了修补应用程序或要求作者更改它),它可能是一个失败的事业...5ssjco0h2#
浏览快速修复列表(或位置列表)的最简单方法是the
unimpaired
plugin。填充了quickfix窗口后,
[q
和]q
(分别)在quickfix列表中前进和后退。[Q
和]Q
转到开头和结尾(如果列表中只有一个项目,这将特别方便;这使得vim抱怨[q
和]q
).所以工作流是:1.运行填充快速修复列表的任意命令
1.键入
[Q
转至第一个项目1.使用
[q
和]q
滚动后续项目(如果有)如果你使用的是Syntastic,你会得到一个地址列表而不是快速修复列表。只需以相同的方式使用
[L
、]L
、[l
和]l
即可。unimpaired
也有很多其他方便的Map--[e
和]e
向上和向下“冒泡”行,[<Space>
和]<Space>
在上面和下面插入空行,等等。这可能是因为它直到2010年1月才存在,尽管这个问题在2009年就被提出了。6rqinv9w3#
在.vimrc文件中放入以下两行:
现在可以使用ctrl-j和ctrl-k导航错误,这模拟了标准的向下和向上运动命令j和k。
mm9b1k5b4#
您也可以使用
:cc 2
(或任何其他数字)跳转到快速修复窗口中的第二个错误。使用:cn
、:cc 4
等导航将光标放在有问题的行上。gopyfrb35#
除了@DrAl关于如何打开和关闭快速窗口以及在条目之间导航的精彩回答外,我还制作了一张图片来显示其他一些快速修复导航命令。
以下每组3个文件代表一组快速修复结果,例如来自vimgrep。cnewer和colder用于遍历历史结果集。x1c 0d1x
yhqotfr86#
也许这个选项在写这个问题的时候并不存在(或者也许我让自己很尴尬,因为我的
.vimrc
中有一些东西使这种情况发生),但是当我得到一个Quickfix List
时,我只需用j
和k
导航它,然后按<CR>
(即Enter键)跳转到文件中的那个位置。然后,为了回到
Quickfix List
,我键入Ctrl
+W
j
表示“向下移动窗口”,然后我回来了。最后,当我完成时,我只需要键入
:q
,就像我关闭任何普通窗口一样。kt06eoxx7#
集成JavaScript语法检查的最佳实践方法是使用 Syntastic Vim插件,该插件使用Vim的 location-list(与 quickfix 并行)窗口。
我已经写了这个问题的答案,这个问题解释了如何做,以及如何使用社区驱动的jshint.com(比JSLint IMO好得多)和Mozilla的 * DoctorJS *(以前的 jsctags)为Vim获得源代码浏览/标记列表。
vq8itlhq8#
Quickfix窗口的操作与任何其它VIM窗口几乎相同:j向下一行,k向上一行,:cn跳转到下一个错误/警告,等等。
实验!
ddhy6vgd9#
尽管这需要〉Vim 7.4.858,但cdo(或ldo用于位置列表)命令允许更新一组不连续的行,这种方式只有在使用sed时才能做到:
上面显示了运行一个录制的宏或一个简单的搜索和替换。Missing似乎是一种通过管道传输外部命令的方法,就像您可以使用
:range! command
一样