सभी स्थानों की सूची या त्वरित विंडो को vim में बंद करें


8

क्या वीम / गविम में एकल कमांड के साथ सभी स्थान सूचियों और त्वरित फिक्स विंडो को बंद करने का एक तरीका है?

जवाबों:


5
:windo if &buftype == "quickfix" || &buftype == "locationlist" | lclose | endif

यह निष्पादित करेगा: क्विकफ़िक्स या स्थान सूचियों को प्रदर्शित नहीं करने वाली सभी विंडो में lclose कमांड। मेरे पास इसका परीक्षण करने के लिए स्थान सूचियों का एक सेट नहीं था, इसलिए मैंने एक अलग बफर प्रकार के साथ परीक्षण किया और इसने उस स्थिति के लिए काम किया।

आप शायद इसे अपने .vimrc में भी कमांड या शॉर्टकट बनाना चाहेंगे।


lcloseक्विकफ़िक्स सूचियों को बंद नहीं करता है, इसलिए यह उन लोगों के लिए काम नहीं करेगा।
ट्राइसिस

1

:ccl | lcl

इसे मैप करें <Leader>c:

noremap <Leader>c :ccl <bar> lcl<CR>


यह केवल एक स्थान सूची को बंद करेगा: एक सक्रिय विंडो के लिए, यदि कोई मौजूद है।
चेस

1

मैं इसे <F11> पर मैप करता हूं:

nmap <F11> :windo lcl\|ccl<CR>

मूल रूप से: प्रत्येक विंडो में, रन lcl(नजदीकी स्थान सूची) और ccl(करीब क्विकफ़िक्स)


0
:windo if &buftype != "quickfix" | lclose | endif

यह :lcloseसभी विंडो में कमांड निष्पादित करेगा जो क्विकफिक्स या लोकेशन लिस्ट को प्रदर्शित नहीं करता है। मेरे पास इसका परीक्षण करने के लिए स्थान सूचियों का एक सेट नहीं था, इसलिए मैंने एक अलग बफर प्रकार के साथ परीक्षण किया और उस मामले के लिए काम किया।


सवाल फिर से, वह जल्दी ठीक खिड़कियों के सभी को बंद करने के लिए कह रहा है, सब कुछ बंद नहीं बल्कि उन्हें।
detrb
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.