Answers:
如您所说,有很多用于quickfix 的命令,但是我倾向于发现我只使用其中的一小部分:
:copen " Open the quickfix window
:ccl " Close it
:cw " Open it if there are "errors", close it otherwise (some people prefer this)
:cn " Go to the next error in the window
:cp " Go to the previous error in the window
:cnf " Go to the first error in the next file
:.cc " Go to error under cursor (if cursor is in quickfix window)
我倾向于将其与:make
和一起使用:vimgrep
,因此无法在Javascript皮棉检查器中进行评论,但这应该为您提供了一些入门知识。
关于JavascriptLint的一般用法,我不是JavaScript程序员,但是该脚本似乎公开了一个名为“ JavascriptLint”的函数,因此,如果要手动调用它,可以使用:call JavascriptLint()
。但是,它可以在文件的磁盘副本上使用,因此必须首先保存。如果(且仅当)命令行在jsl
html文件上有效,则您应该能够:call JavascriptLint()
在html文件上使用以检查内部javascript。您也可以这样做:
autocmd BufWritePost,FileWritePost *.html call JavascriptLint()
使其自动化。如果jsl
不支持html文件,则(缺少修补应用程序或要求作者对其进行更改),可能是一个丢失的原因...
:cn
不应该关闭qf窗口,但是它将切换到包含错误的窗口:这是“跳”的意思吗?您可以使用Ctrl-W p
或来快速切换回去:wincmd p
,因此可以执行:command! CN :cn | wincmd p<CR>
类似操作(未经测试)。这应该给您一个:CN
命令,该命令将转到下一个错误,而无需切换到quickfix窗口。或者,您可以执行类似的操作:au BufWinEnter quickfix nmap <buffer> <Enter> :.cc | wincmd p<CR>
(再次未经测试),然后使用Enter键选择错误,而无需退出quickfix窗口。
导航quickfix列表(或位置列表,对于这个问题)最简单的方法是将unimpaired
插件。
一旦quickfix窗口被填充,[q
并且]q
去前进和后退(分别)在quickfix列表。 [Q
然后]Q
转到开头和结尾(如果列表中只有一项,这将特别方便;这会使vim抱怨[q
和]q
)。因此,工作流程为:
[Q
以转到第一项[q
和]q
如果您使用Syntastic,则会获得位置列表,而不是快速修复列表。没问题; 刚刚使用[L
,]L
,[l
,并]l
以同样的方式。
unimpaired
有其他方便的映射的负荷过- [e
和]e
“泡沫”行上下,[<Space>
并]<Space>
插入空行上方和下方,等等。我很惊讶没有人在此之前提到; 这可能是因为直到2009年才提出这个问题,直到2010年1月才存在。
将以下两行放入您的.vimrc文件中:
map <C-j> :cn<CR>
map <C-k> :cp<CR>
现在,您可以使用ctrl-j和ctrl-k来浏览错误,它们模拟了标准的上下运动命令j和k。
<c-j>
某个时候(取决于终端?!)是错误的或完全不工作,因为这意味着相同<NL> //最简单的IST,以使用<c-n>
和<c-p>
代替//否则:stackoverflow.com/questions/8304421/...
noremap <F7> :cprevious<CR>
和noremap <F8> :cnext<CR>
在.vimrc
集成JavaScript语法检查的最佳实践方法是使用Syntastic Vim插件,该插件使用Vim的location-list(与quickfix平行)窗口。
我已经为这个问题和这个问题写了答案,解释了如何做,以及如何使用社区驱动的jshint.com(比JSLint IMO更好)为Vim 获取源代码浏览/标签列表,以及Mozilla的DoctorJS(以前称为jsctags)。
也许这个选项是不存在的,当这个问题被写(因为有东西或也许我自己难堪我.vimrc
认为使这种情况发生),但是当我得到一个Quickfix List
,我只是浏览它j
和k
然后打<CR>
(即回车键)跳到文件中的那个位置。
然后,返回到Quickfix List
我键入Ctrl
+ W
j
的“向下移动窗口”,然后我又回来了。
最后,完成后,我只需键入:q
,就像我将关闭任何普通窗口一样。
nmap <CR> o<Esc>
,我有,所以我可以在普通模式下添加换行符。
除了有关如何打开和关闭快速窗口以及在条目之间进行导航的@DrAl很好的答案之外,我还制作了一个图像来显示其他一些快速修复导航命令。