2011-11-09 18 views
5

में त्वरितफिक्स बफर मौजूद है या नहीं, सरल प्रश्न (मुझे उम्मीद है)। यह मुझे पागल कर रहा है। मैं नक्शा करने के लिए अपने vimrc में एक सरल स्क्रिप्ट बनाने के लिए कोशिश कर रहा हूँ:यह पता लगाना कि वीआईएम

<Leader>e

QuickFix विंडो खोलने के लिए। मैं यह कुंजी कॉम्बो भी चाहता हूं कि अगर यह वर्तमान में खुला है तो क्विकफिक्स विंडो बंद करें। समस्या यह है कि bufexists कमांड Quickfix बफर पर छोड़ने लगता है। क्या आप कृपया मुझे सलाह दे सकते हैं कि एक त्वरितफिक्स विंडो पहले से खुली है या नहीं?

उत्तर

6

:cwindow कमांड जो आप खोज रहे हैं वह हो सकता है। मदद से:

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

हालांकि, अगर आप QuickFix खिड़की वहाँ अभी भी त्रुटि नहीं है, भले ही बंद करना चाहते हैं, तो बाहर this Vim Tip जाँच है, जो निम्नलिखित स्निपेट प्रदान करता है:

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

बिल्कुल सही! आपको बहुत - बहुत धन्यवाद! – splodingsocks

संबंधित मुद्दे