Vim पूर्णता - Enter कुंजी के साथ एक सुझाव का चयन करने के बाद हमेशा नई पंक्ति को दबाएं


11

कभी-कभी, मैं एक कुंजी का चयन करने के बाद (पूर्ण पॉप-अप से जो Ctrl-N दबाते समय प्रकट होता है) एंटर कुंजी का उपयोग करके, विम एक नई पंक्ति सम्मिलित करेगा और कर्सर को निम्न पंक्ति में ले जाया जाएगा। यह हमेशा नहीं होता है - ऐसा लगता है कि विम इसके बारे में स्मार्ट होने की कोशिश करता है और केवल मुझे अगली पंक्ति में ले जाएगा अगर यह सोचता है कि यह वही है जो मैं चाहूंगा।

हालाँकि, मैं इस व्यवहार को अक्षम करना चाहता हूं (क्योंकि यह हमेशा स्मार्ट नहीं होता है) ताकि मुझे हमेशा Enter कुंजी दबाकर मैन्युअल रूप से अगली पंक्ति में जाना पड़े। क्या यह संभव है?

जवाबों:


14

आवेषण का उपयोग करते समय विम आपके टाइपिंग <Enter> कुंजी के जवाब में क्या करता है, पूर्ण मेनू की स्थिति पर निर्भर करता है। मेनू का व्यवहार यहाँ वर्णित है:

:help ins-completion-menu

और विभिन्न कुंजियों का व्यवहार जब सम्मिलित पूर्णता का उपयोग करते हैं, तो अगले भाग में वर्णित किया गया है,

:help popupmenu-keys

जहां यह बताता है कि <Enter> कुंजी का व्यवहार मेनू स्थिति पर निर्भर करता है। जैसा कि मैंने इसे समझा है, टाइप करें <Enter> उस मामले को छोड़कर एक नई पंक्ति सम्मिलित करता है जहां आपने कर्सर कुंजियों का उपयोग करके मेनू से एक मैच का चयन किया है।

जब आप नहीं चाहते हैं कि एक नई लाइन डालने से बचने का सबसे अच्छा तरीका है कि आप किसी अन्य कुंजी जैसे कि Ctrl-Y या Ctrl-E का उपयोग करके चयन करें या समाप्त करें।

यह सभी देखें

:help complete_CTRL-Y

और पूरे विवरण के लिए अगर इन्सर्ट-मोड पूरा हो रहा है,

:help ins-completion

4

आप इस मैपिंग को अपनी .vimrc फ़ाइल में जोड़ सकते हैं:

inoremap <expr> <CR> pumvisible() ? "\<C-Y>" : "\<CR>"

पॉपअप मेनू दिखाई देने पर यह CTRL-Y इनपुट करने के लिए इंसर्ट मोड में रिटर्न कुंजी को मैप करेगा। CTRL-Y नई पंक्ति में प्रवेश किए बिना मेनू में वर्तमान में चयनित आइटम का चयन करता है। अन्यथा यह रिटर्न की एक्ट को सामान्य जैसा बना देगा।


1
क्या आप बता सकते हैं कि यह कोड क्या करता है और यह ओपी द्वारा दी गई समस्या को कैसे संबोधित करता है? अस्पष्टीकृत कोड उपयोगकर्ताओं के लिए अविश्वसनीय और खतरनाक दिखाई दे सकता है।
bwDraco

0

मैंने इसे .vimrc में जोड़ा और अब यह वैसा ही व्यवहार करता है जैसा मैं चाहता हूं:

नॉरमेप प्यूम्विविज़ ()? "" ":"

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