2010-04-04 9 views
26

में स्वचालित रूप से अगली पंक्ति पर जाएं vim में एक निराशाजनक व्यवहार यह है कि जब मैं अपना कर्सर दाएं या बाएं स्थानांतरित करता हूं (क्रमशः "एल" या "एच)" और मैं अंत में या रेखा की शुरुआत में हूं, तो मेरा कर्सर अगली पंक्ति के पहले कॉलम या पिछली पंक्ति के अंतिम कॉलम पर नहीं जाता है।विम

क्या इस व्यवहार को बदलने का कोई तरीका है?

+1

यह ठीक एक प्रोग्रामिंग सवाल नहीं है लेकिन ... –

+0

... लेकिन यह के बारे में "सॉफ्टवेयर उपकरण सामान्यतः द्वारा इस्तेमाल किया एक सवाल है प्रोग्रामर "। :) (माना जाता है कि यह "समस्या नहीं है जो सॉफ्टवेयर विकास के लिए अद्वितीय है")। – lindhe

+1

'सेट nocompatible' ने उस सुविधा को मेरे 'vim' कॉन्फ़िगरेशन – Paschalis

उत्तर

24

आप whichwrap सेटिंग का उपयोग कर सकते हैं h और आरंभ और अलग-अलग लाइनों के अंत के आसपास l चादर बनाने के लिए:

set whichwrap+=h,l 

हालांकि, विम के प्रलेखन इसके खिलाफ अनुशंसा करता है, संभवतः क्योंकि यह अप्रत्याशित दुष्प्रभाव हो सकता है (जैसे प्लगइन तोड़ना, या सामान्य कुंजी मैपिंग कैसे बदलना)।

एक विकल्प के रूप में, आप क्या क्या मेटी Virkkunen सिफारिश कर सकते हैं:

set whichwrap+=<,>,[,] 

यह h और l छोड़ देता है उनके डिफ़ॉल्ट व्यवहार के साथ है, लेकिन बाएँ और दाएँ तीर कुंजी लाइनों के आसपास लपेटो करने की अनुमति देता है। (यह वही है जो मैं करता हूं, और यह अच्छी तरह से काम करता है।)

आप backspace सेटिंग को भी देख सकते हैं, यह नियंत्रित करने के लिए कि बैकस्पेस, डिलीट, कंट्रोल + डब्ल्यू, और कंट्रोल + यू कैसे सम्मिलित मोड में काम करता है। मैंने इस तरह मेरा सेट किया:

set backspace=indent,eol,start 

इससे मुझे बहुत अधिक चीज़ों पर बैकस्पेस करने की अनुमति मिलती है।

अधिक जानकारी के लिए, विम मदद में इन विषयों को देखें:

:help 'whichwrap 
:help 'backspace 
+0

क्या आप समझा सकते हैं कि ये क्या करते हैं? (विशेष रूप से, '<', '>', '[', और ']' मतलब क्या है?) –

+0

यहां 'सहायता' का ब्राउज़र-अनुकूल संस्करण है जो http://wimhelp.appspot.com/options.txt। एचटीएमएल #% 27whichwrap% 27 –

8

अपने .vimrc में निम्नलिखित रखो:

set whichwrap+=<,>,[,] 
+0

में अक्षम कर दिया था क्या आप यह समझा सकते हैं कि यह क्या करता है? –

+0

@QPaysTaxes: जोव्रैप सेटिंग निर्दिष्ट करती है कि दबाए जाने पर अगली/पिछली पंक्ति में कौन सी कुंजी लपेटेंगी, और बाद में वर्ण सामान्य मोड में कर्सर कुंजी और क्रमशः मोड डालें। आप उदा। जोड़ सकते हैं यदि आप चाहें तो 'एच, एल' के पास भी विम आंदोलन कुंजी लपेटें। –