我已经从GitHub安装了Syntastic,我尝试使用Syntastic来检查perl语法错误(并计划在短时间内使用Python)。当我使用':退出'或者':q',只关闭原始文件窗口。错误窗口未关闭。以下是我的.vimrc文件:
execute pathogen#infect()
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_perl_checkers = ['perl']
let g:syntastic_python_checkers = ['pylint']
let g:syntastic_enable_perl_checker = 1
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
由于我对vim脚本非常新,我想知道如何关闭窗口,错误窗口和原始文件窗口,当我使用':quit'或者':q'原始文件窗口处于活动状态。
答案 0 :(得分:4)
这是正常的Vim行为;它与Syntastic无关。 quickfix 或位置列表窗口可能包含对其他文件的引用,因此当您从原始窗口退出时,您不确定是否要完全离开Vim。
最简单的解决方案是使用:qa
(全部退出)而不是:q
。由于错误窗口不包含未经过更改的更改,因此这是安全的,无需确认。
如果您因为不得不考虑这个而烦恼,可以使用Vim的脚本功能来改变它的行为:
:autocmd WinEnter * if &buftype ==# 'quickfix' && winnr('$') == 1 | quit | endif
这会检查窗口的每次更改是否只剩下一个窗口,如果那个窗口是quickfix / location列表,它会退出Vim。
答案 1 :(得分:4)
尝试以下命令:
:lclose
答案 2 :(得分:3)
根据Syntastic help,关闭Syntastic错误窗口的命令是:
:SyntasticReset