2011-11-09 9 views
5

Proste pytanie (mam nadzieję). To doprowadza mnie do szału. Próbuję utworzyć prosty skrypt w moim vimrc do mapy:Wykrywanie, czy bufor szybkiego działania istnieje w VIM

<Leader>e

otworzyć quickfix okno. Chcę również, aby to kluczowe combo zamknęło okno quickfix, jeśli jest ono aktualnie otwarte. Problem polega na tym, że polecenie bufexists wydaje się pomijać bufory quickfix. Czy możesz podać mi kilka wskazówek, jak wykryć, czy jest już otwarte okno quickfix?

Odpowiedz

6

Komenda :cwindow może być tym, czego szukasz. Z pomocą:

      *: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. 

Jednakże, jeśli chcesz, aby zamknąć okno quickfix nawet czy są jeszcze błędy, a następnie sprawdzić this Vim Tip, który przewiduje następujący fragment:

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 
+0

Perfect! Dziękuję bardzo! – splodingsocks

Powiązane problemy