7 Stimmen

Erkennen, ob ein Quickfix-Puffer in VIM vorhanden ist

Eine einfache Frage (hoffe ich). Es macht mich wahnsinnig. Ich versuche, ein einfaches Skript in meinem vimrc zu erstellen, um zu mappen:

<Leader>e

um das Quickfix-Fenster zu öffnen. Ich möchte auch, dass diese Tastenkombination das Quickfix-Fenster schließt, wenn es gerade geöffnet ist. Das Problem ist, dass der Befehl bufexists anscheinend die Quickfix-Puffer überspringt. Können Sie mir bitte einen Rat geben, wie ich erkennen kann, ob bereits ein Quickfix-Fenster geöffnet ist?

8voto

rossipedia Punkte 51924

Die :cwindow könnte das sein, wonach Sie suchen. Aus der Hilfe:

                            *:cw* *:cwindow*
:cw[indow] [height] Open the quickfix window when there are recognized
                    errors.  If the window is already open and there are
                    no recognized errors, close the window.

Wenn Sie jedoch das Quickfix-Fenster schließen möchten, auch wenn noch Fehler vorhanden sind, dann lesen Sie dieser Vim-Tipp die den folgenden Ausschnitt enthält:

command -bang -nargs=? QFix call QFixToggle(<bang>0)
function! QFixToggle(forced)
  if exists("g:qfix_win") && a:forced == 0
    cclose
    unlet g:qfix_win
  else
    copen 10
    let g:qfix_win = bufnr("$")
  endif
endfunction

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X