代码之家  ›  专栏  ›  技术社区  ›  Somebody still uses you MS-DOS

完全退出位置列表(LCL)创建的SytTASTH,以及使用时的主要缓冲区:Q,Q!或者:wq!在维姆

  •  2
  • Somebody still uses you MS-DOS  · 技术社区  · 16 年前

    我正在使用Syntastic插件。我有一些文件有一些错误(警告),我无法更改。当我有一个文件打开错误消息,我退出文件(缓冲区)按:Q,错误消息仍然可见(另一个缓冲区),所以我必须按:Q两次完全退出时,编辑文件。

    那么,对于一个包含我的文件的缓冲区和另一个包含语法错误的缓冲区(位置列表),如何按:q一次?我搜索了一下,关闭位置列表的命令是 :lcl .

    当我用Q退出一个缓冲区时,如果那个缓冲区的位置列表是活动的,我想用它的位置列表来关闭它,调用:LCL。我在看一些 autocmd BufLeave 和 BufWinLeave

    记住, :w, :q, :q!, :wq 一切都按计划进行。

    2 回复  |  直到 13 年前
        1
  •  3
  •   mb14    16 年前

    当lcl工作时,即使没有错误窗口,也可以将q映射到lcl和q

    cnoremap q<cr> \|lcl\|q<cr>
    

    顾名思义,缩写似乎更好

    cabbrev q lcl\|q
    

    (请注意|之前的“/”,如果没有它,则缩写为quit)

        2
  •  1
  •   Community Mohan Dere    9 年前

    但是我找到了一个解决办法 this question ,如果其他人也这么做。

    :autocmd WinEnter * if &buftype ==# 'quickfix' && winnr('$') == 1 | quit | endif
    

    我认为这可能不太理想,但同时也足够有效。