क्या स्क्रैच बफर / प्रीव्यू विंडो को बंद करने का एक आसान तरीका है?


65

मेरे द्वारा इंस्टॉल किए गए प्लगइन्स में से एक (शायद सुपरटेब) पूर्ण मेनू में वर्तमान में हाइलाइट किए गए आइटम के लिए प्रलेखन का एक अच्छा दृश्य प्रदान करता है:

यहाँ छवि विवरण दर्ज करें

पूर्ण रूप से (दबाने Enterया दबाकर Space) बाहर निकलने के बाद भी (जाहिरा तौर पर) स्क्रैच बफर खुला रहता है । फिर, इसे छोड़ने के लिए, मैं करता हूं <c-w>↑:q, लेकिन मुझे लगता है कि मुझे Ctrlबहुत गुस्सा आना चाहिए (एक कारण है कि मैं विभाजन से बचता हूं)।

इस स्क्रैच बफर को बंद करने का एक त्वरित तरीका क्या है? क्या कोई देशी तरीका है, या क्या मुझे मैपिंग लिखना है?


2
यदि आप Ctrlकम उपलब्ध करवाना चाहते हैं तो कुछ कम कष्टप्रद हो सकता Caps Lockहै Ctrlया उन्हें स्वैप कर सकता Caps Lockहै।
8bittree

पायथन कोड को पूरा करने के लिए आप किस प्लगइन का उपयोग करते हैं? उदाहरण के लिए jedi-vimविकल्प है g:jedi#auto_close_doc
एलेक्स क्रॉल

@AlexKroll ईमानदार होना, मुझे कोई पता नहीं है। मुझे लगता है कि यह सुपरटेब हो सकता है। ये वे प्लगइन्स हैं जिन्हें मैंने स्थापित किया है: github.com/murukeshm/vimrc/tree/master/bundle । मेरे पास जेडी स्थापित नहीं है।
मुरू

2
@ मुरू g:SuperTabClosePreviewOnPopupClose (default 0)लगता है कि यह वही है जो आप चाहते हैं:he supertab-closepreviewonpopupclose
एलेक्स क्रॉल

@AlexKroll हाँ, यह चाल चली, धन्यवाद!
मुरु

जवाबों:


66

शीर्ष विंडो को पूर्वावलोकन विंडो कहा जाता है। तो कोई भी <c-w>z, <c-w><c-z>या :pc[lose][!]काम करना चाहिए।

नीचे के लिए मदद है :help :pclose

CTRL-W z CTRL-W_z
CTRL-W CTRL-Z CTRL-W_CTRL-Z
: पीसी: pclose
: पीसी [हार] [!] वर्तमान में खुली हुई किसी भी "पूर्वावलोकन" विंडो को बंद करें। जब 'छिपा'
                विकल्प सेट है, या जब बफर बदल दिया गया था और [!] है
                उपयोग किया जाता है, बफर छिपा हुआ है (जब तक कि कोई और न हो
                खिड़की संपादन)। यदि कोई "पूर्वावलोकन" बफ़र कमांड विफल हो जाता है
                बंद नहीं किया जा सकता। यह भी देखें: करीब

एक और प्रासंगिक सहायता पृष्ठ होगा :help preview-window


9
के लिए हाँ :pc! मुझे महसूस नहीं हुआ कि "पूर्वावलोकन" नाम विशेष था।
मूरू

29

मेरे विशिष्ट मामले के लिए, पूर्वावलोकन विंडो को प्लगइन्स द्वारा खोला गया था। इसलिए, मैंने इन विंडो को स्वचालित रूप से बंद करने के लिए प्लगइन कॉन्फ़िगरेशन का उपयोग किया।

Supertab

जैसा कि एलेक्स क्रोल द्वारा सुझाया गया है:

let g:SuperTabClosePreviewOnPopupClose = 1

तुम मुझे पूऱा करती हो

let g:ycm_autoclose_preview_window_after_insertion = 1
let g:ycm_autoclose_preview_window_after_completion = 1

यदि दूसरा चर सेट किया जाता है, तो पहले का कोई प्रभाव नहीं होता है। डॉक्स से:

The *g:ycm_autoclose_preview_window_after_completion* option

When this option is set to '1', YCM will auto-close the 'preview' window after
the user accepts the offered completion string. If there is no 'preview' window
triggered because there is no 'preview' string in 'completeopt', this option is
irrelevant. See the |g:ycm_add_preview_to_completeopt| option for more details.

Default: '0'
>
  let g:ycm_autoclose_preview_window_after_completion = 0
<
-------------------------------------------------------------------------------
The *g:ycm_autoclose_preview_window_after_insertion* option

When this option is set to '1', YCM will auto-close the 'preview' window after
the user leaves insert mode. This option is irrelevant if
|g:ycm_autoclose_preview_window_after_completion| is set or if no 'preview'
window is triggered. See the |g:ycm_add_preview_to_completeopt| option for more
details.

Default: '0'
>
  let g:ycm_autoclose_preview_window_after_insertion = 0

4

एक और अच्छा विकल्प, जो अन्य मामलों में भी प्रासंगिक है :only, पूर्वावलोकन सहित अन्य सभी विंडो बंद करने के लिए उपयोग कर रहा है:

:on[ly][!]
:{count}on[ly][!]
CTRL-W o                        *CTRL-W_o* *E445*
CTRL-W CTRL-O                   *CTRL-W_CTRL-O* *:on* *:only*
    Make the current window the only one on the screen. All other
    windows are closed. For {count} see |:quit|.

3

एक अन्य विकल्प जो स्वचालित रूप से पूर्वावलोकन विंडो को बंद कर देता है और जिसे कई पूर्ण प्लगइन्स के साथ काम करना चाहिए , एक मुद्दे में deoplete के लेखक द्वारा सुझाया गया था :

autocmd InsertLeave,CompleteDone * if pumvisible() == 0 | pclose | endif

नकारात्मक पक्ष यह है कि आप स्क्रैच विंडो पर ध्यान केंद्रित नहीं कर पाएंगे, इसलिए कोई स्क्रॉलिंग नहीं। लेकिन त्वरित लुकअप के लिए यह सबसे सुविधाजनक है।


0

जेडी

यदि YCM के साथ उपयोग नहीं किया जा रहा है

let g:jedi#auto_close_doc = 0  " close preview window after completion

0

आप इस प्लगइन का उपयोग कर सकते हैं: bufutils.vim

यह खरोंच बफ़र्स, स्थान सूची, त्रुटि सूची, आदि को बंद कर देता है ...

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.