2011-11-09 28 views
5

Câu hỏi đơn giản (Tôi hy vọng). Điều đó khiến tôi phát điên. Tôi đang cố gắng để tạo ra một kịch bản đơn giản trong vimrc của tôi vào bản đồ:Phát hiện xem bộ đệm nhanh có tồn tại trong VIM

<Leader>e

để mở cửa sổ QuickFix. Tôi cũng muốn rằng tổ hợp phím để đóng cửa sổ quickfix nếu nó hiện đang mở. Vấn đề là, lệnh bufexists dường như bỏ qua bộ đệm nhanh. Bạn có thể vui lòng cho tôi một số lời khuyên về cách phát hiện nếu có một cửa sổ quickfix đã mở?

Trả lời

6

Lệnh :cwindow có thể là những gì bạn đang tìm kiếm. Từ sự giúp đỡ:

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

Tuy nhiên, nếu bạn muốn đóng cửa sổ QuickFix ngay cả khi vẫn có những sai sót, sau đó kiểm tra this Vim Tip, cung cấp đoạn mã sau:

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! Cảm ơn bạn rất nhiều! – splodingsocks

Các vấn đề liên quan