我已经通过Janus安装了(Mac)Vim Syntastic插件。当我打开:Errors
窗口以查看语法错误的原因时,它会将带有错误的文件缩小到一行,并将其余的不动产用于“错误”窗口。
有没有办法让它减少错误的空间,更重要的是,如何关闭只是错误窗口?通常:q
会关闭“错误”窗口和原始文件,即使光标位于“错误”窗口中也是如此。 (这不是100%正确 - 如果文件尚未保存,感激不关闭文件。)
答案 0 :(得分:40)
Syntastic使用位置列表( quickfix list 的窗口局部变体),因此:lclose
将关闭它,但保留其他缓冲区
根据syntastic's help pages,可以配置初始高度:
:let g:syntastic_loc_list_height=5
但是我怀疑你的侵入式 Janus 发行版有一个参与其中。像 spf-13 和 Janus 这样的Vim“发行版”会通过快速安装和开箱即用的设置来引诱您,但是您需要付出更高的复杂性(您需要了解) Vim的运行时加载方案和分布的任意约定)和不灵活性(分布可能使一些事情变得更容易,但其他事情非常困难)。 Vim非常可定制,使用其他人的定制毫无意义。
答案 1 :(得分:20)
关闭Syntastic错误窗口的命令是:
:SyntasticReset
答案 2 :(得分:2)
当您在一个屏幕上处理多个缓冲区时,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>
不要为这项工作而用胶带扎住,这是将设备固定在一起的唯一方法。
答案 3 :(得分:0)
您可以使用:lclose
将其关闭。