Make Syntastic只关闭错误窗口

时间:2013-09-23 14:38:46

标签: vim syntastic

我已经通过Janus安装了(Mac)Vim Syntastic插件。当我打开:Errors窗口以查看语法错误的原因时,它会将带有错误的文件缩小到一行,并将其余的不动产用于“错误”窗口。

有没有办法让它减少错误的空间,更重要的是,如何关闭只是错误窗口?通常:q会关闭“错误”窗口和原始文件,即使光标位于“错误”窗口中也是如此。 (这不是100%正确 - 如果文件尚未保存,感激不关闭文件。)

4 个答案:

答案 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将其关闭。