我已经通过 Janus 安装了 (Mac)Vim Syntastic 插件。当我打开:Errors
窗口查看语法错误的原因时,它会将包含错误的文件缩小到一行,并将剩余空间用于错误窗口。
有没有办法让它减少错误的空间,更重要的是,我如何只关闭错误窗口?:q
即使光标在错误窗口中,通常也会关闭错误窗口和原始文件。(这不是 100% 正确的——如果文件尚未保存,它不会关闭文件)。
Syntastic使用位置列表(快速修复列表的窗口本地变体),因此 a将关闭它,但保留其他缓冲区。:lclose
根据syntastic 的帮助页面,可以配置初始高度:
:let g:syntastic_loc_list_height=5
但我怀疑你侵入性的Janus分布在这方面有影响。像spf-13和Janus这样的Vim“发行版”通过快速安装和开箱即用的设置来吸引你,但你付出的代价是增加了复杂性(你需要了解 Vim 的运行时加载方案和发行版的任意约定)和不灵活(分发可能使某些事情变得更容易,但其他事情变得非常困难)。Vim 的可定制性令人难以置信,使用别人的定制是没有意义的。
关闭 Syntastic 错误窗口的命令是:
:SyntasticReset
当您在一个屏幕上处理多个缓冲区时,Syntastic 会感到困惑,所以这里有一个脚本可以收集有关情况的信息,然后做正确的事情:
function JustCloseSyntasticWindow()
"Check which buffer we are in, and if not, return to the main one:
if &ft == "qf"
normal ZZ
endif
"Since different buffers have different command spaces, check if we've
"escaped the other buffer and then tell syntastic to stop.
if &ft != "qf"
SyntasticReset
" --- or ----
SyntasticToggleMode
endif
endfunction
au FileType buffer1_ft nnoremap :yourcmd<CR>:call JustCloseSyntasticWindow()<cr>
au FileType main_win_ft nnoremap :yourcmd<CR>:call JustCloseSyntasticWindow()<cr>
不要对这项工作的胶带感到害羞,这是唯一将设备固定在一起的东西。
你可以用:lclose
它来关闭它。