सवाल विम में तीर कुंजियों की सिफारिश क्यों नहीं की जाती है


"विम में तीर कुंजियों का कभी भी उपयोग न करें!"

मैंने इसे एक यादृच्छिक वक्ता से सुना, लेकिन उसे पूछने का मौका नहीं मिला क्यों। इसके अलावा, यदि आप तीर कुंजियों का उपयोग नहीं करते हैं, तो आप कर्सर को कैसे ले जा सकते हैं सम्मिलित करें मोड?


114


मूल


इस सवाल के ऐतिहासिक प्रतिक्रिया दिलचस्प हैं। धार्मिक diatribes कम तो। - Isaac Rabinovitch
अच्छा प्रश्न। यह हमेशा मुझे vi [m] के बारे में बग करता है, एक ड्वोरोक कीबोर्ड उपयोगकर्ता के रूप में यह वास्तव में बेकार है! - wim
मुझे याद है कि पहली बार वीआई का उपयोग करते समय, कई साल पहले, एक वरिष्ठ सहयोगी ने मुझे सलाह दी थी "सुनिश्चित करें कि आप एच, जे, के और एल चाबियों का उपयोग करना सीखें क्योंकि एक दिन आप एक क्लाइंट साइट पर मशीन पर समाप्त हो जाएंगे जहां तीर चाबियाँ काम नहीं करती हैं, और यदि आप काम भी नहीं कर सकते हैं तो आप एक पूर्ण डी *** सिर की तरह दिखेगा। " - Ergwun
सम्मिलित मोड में आप अभी भी कर्सर को Ctrl-O का उपयोग करके एक सामान्य मोड कमांड का उपयोग कर ले जा सकते हैं, और यह वापस मोड में वापस जायेगा। सीटीआरएल-जी सीटीआरएल-जे और सीटीआरएल-जी सीटीआरएल-के भी जांचें जो आपके द्वारा सम्मिलित कॉलम पर कर्सर को अगली और पिछली पंक्ति में ले जायेगा। - Benoit
मैंने पिछले कुछ वर्षों में खराब वीआई [एम] आदतों का भार विकसित किया है। मुझे लगता है कि मुझे बेहतर आदतों का उपयोग करने के लिए मजबूर करने के लिए, मुझे बहुत धीमी कनेक्शन पर इसका उपयोग करने की आवश्यकता है। - aidan


जवाब:


तीर कुंजियों का उपयोग करना एक बुरी आदत माना जाता है, क्योंकि यदि आप तीर कुंजियों का उपयोग कर रहे हैं तो आप शायद कई विम की सुंदर सुविधाओं पर अनुपलब्ध हैं।

जब लोग पहली बार विम का उपयोग करना शुरू करते हैं, तो वे सम्मिलित मोड में रहते हैं क्योंकि यह पारंपरिक टेक्स्ट संपादन की तरह है। हालांकि, विम में प्रभावी होने के लिए, जब आप वास्तव में टेक्स्ट दर्ज कर रहे हों तो आपको केवल सम्मिलित मोड में होना चाहिए। यदि आप कर्सर को चारों ओर ले जाना चाहते हैं, तो आपको सामान्य मोड में होना चाहिए। डिफ़ॉल्ट रूप से आपको सामान्य मोड में बहुत अधिक होना चाहिए।

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

ऐसा रवैया है कि यदि आप तीर कुंजियों का उपयोग कर रहे हैं, तो आप विम "गलत" का उपयोग कर रहे हैं। सच्चाई यह है कि विम वास्तव में वास्तव में खड़ी सीखने की वक्र है, इसलिए जब आप सीख रहे हों तो जो भी आपको सचेत रखता है। जब मैंने पहली बार विम का उपयोग करना शुरू किया, तो मैंने सब कुछ "गलत" तरीका किया और मुझे विम के आदेशों के बारे में अधिक जानने के बाद आदतों को तोड़ने में कोई समस्या नहीं थी।

उदाहरण के तौर पर, जब मैंने पहली बार शुरू किया, तो कहें कि मैं उद्धरण में टेक्स्ट बदलना चाहता हूं:

String mystring = "I want to change this";

मैं सम्मिलित मोड में जाऊंगा, तीर कुंजियों का उपयोग कर स्ट्रिंग के अंत में जाउंगा, स्ट्रिंग समाप्त होने तक बैकस्पेस दबाएं, और नया टेक्स्ट दर्ज करें।

अपने कर्सर को स्ट्रिंग (सामान्य मोड) में कहीं भी रखना एक बेहतर तरीका है, फिर दबाएं सीमैं"। यह करेगा change  in  "। यह उद्धरण के बीच सब कुछ हटा देगा और आपको डालने मोड में डाल देगा ताकि मैं नया टेक्स्ट दर्ज कर सकूं।


170



@ ott-- ci< तथा ci) काम भी करें, और आपको कीबोर्ड से माउस पर अपना हाथ नहीं ले जाना पड़ेगा। यदि आप ब्रैकेट की शुरुआत में नेविगेट करना चाहते हैं और फिर सामग्री को बदलना चाहते हैं f(ci( काम करता है। - Matthew Finlay
"अपने कर्सर को स्ट्रिंग में कहीं भी रखें" - और फिर, जबकि सम्मिलित मोड में आप वहां जाने के लिए तीरों का उपयोग करेंगे, सामान्य मोड में आप कर सकते हैं /want और 'वांछित' शब्द पर जमीन पर प्रवेश करें, फिर करें ci"। - Nathan Long
अरे यह साफ है! कर्सर को चारों ओर स्थानांतरित करने का एक तेज़ तरीका क्या है। इसे सुधारने का एकमात्र तरीका जादुई रूप से इंगित करना होगा कि आप कर्सर को कहां चाहते थे, और वहां बस वहां कूदें। शायद हम कुछ आविष्कार कर सकते हैं। मुझे लगता है कि हमें इसे "माउस" कहना चाहिए। - Matthew Scouten
@MatthewScouten कोई भी दावा नहीं कर रहा है कि विम एक माउस से सरल है। हालांकि कुछ अभ्यास के साथ, यह बहुत तेज है। माउस का उपयोग करना आपके बिंदु को प्राप्त करने के लिए पॉइंटिंग और ग्रंटिंग जैसा है। विम आपको पूर्ण वाक्यों में बोलने देता है। - Dean
ब्रेकिंग आदतें एक अच्छा जवाब है - लेकिन जबरन किसी को सामान्य गतिविधि से रोकना फासीवादी है। बदतर, द प्रयोज्य का (hjkl): मैपिंग up तथा down एक-दूसरे से लंबवत-अलग करने योग्य 2 कुंजियों तक, बाएं और दाएं कुंजी से अकेले रहने दें ..... यह एक है दुखद वैचारिक रूप से अंधेरे अहंकार का प्रदर्शन। - New Alexandria


कुंजी प्लेसमेंट

संक्षेप में, Vim का उपयोग करता है hjkl नेविगेशन इंटरफ़ेस के रूप में कुंजी है क्योंकि यह पुरानी "एडीएम -3 ए" टर्मिनल का अवशेष है, जिसमें इन चाबियों को तीरों के साथ चिह्नित किया गया था।

Keyboard

जबसे vim से लिया गया है vi, यह एक ही एचजेकेएल कुंजी का उपयोग करता है।

नई आदतें

तीर कुंजियों के लिए पत्र आधारित प्रतिस्थापन आपको अनुमति देता है मानक टाइपिंग कॉन्फ़िगरेशन से अपने हाथों को दूर किए बिना टेक्स्ट नेविगेट करें। यह तीर कुंजी को हिट करने के लिए अपने हाथ को स्थानांतरित करने से तर्कसंगत रूप से अधिक कुशल और तेज़ है। संदर्भ # 2 में उल्लिखित (संसाधन देखें) यह इसके फायदे का अंत नहीं है: वीआईएम में कई अन्य शॉर्टकट हैं जिन्हें आप अपने हाथों को घुमाने के बिना एक्सेस कर सकते हैं।

संसाधन और सम्मिलन मोड

आपके प्रश्न के 2 हिस्सों के कुछ बहुत विस्तृत और सटीक उत्तर दिए गए हैं: तीर कुंजी प्रतिस्थापन के संदर्भ में, मैंने त्वरित और सारांश तरीके से उत्तर दिया है, हालांकि अपने सम्मिलित प्रश्न के लिए, कृपया नीचे सूचीबद्ध संसाधन देखें।


90



उल्लेख नहीं है कि एचजेकेएल कुंजी तीर कुंजी पर अपने हाथों को स्थानांतरित करने से कहीं अधिक कुशल हैं। - sixtyfootersdude
यह सवाल का जवाब नहीं देता है, केवल बताता है क्यों hjkl चुना जाता है। - Matsemann
यह सच और दिलचस्प इतिहास है, लेकिन ओपी पूछता है कि आप कर्सर को कैसे ले जाते हैं सम्मिलित मोड में। hjkl सम्मिलित मोड में काम न करें, तो यह सवाल का उत्तर कैसे है? - LarsH
प्रश्न के पहले भाग @ क्रुग, यही कारण है कि किसी ने कभी भी विम में तीर कुंजियों का उपयोग नहीं किया। तथ्य यह है कि आप उपयोग कर सकते हैं hjkl विम में यह नहीं बताया गया है कि किसी को भी तीर कुंजियों का उपयोग क्यों नहीं करना चाहिए, जैसे कि मैं अपने साइकिल पर काम करने के लिए सवारी कर सकता हूं, यह समझाता नहीं कि कोई मुझे कभी भी जॉग क्यों नहीं बताएगा। - LarsH
अब मैं समझता हूं कि विम डालने मोड से बाहर निकलने के लिए क्यों बचता है ^^ कूल पिक्चर! - Étienne


उस बेवकूफ मंत्र को अक्सर स्पर्श-टाइपिस्ट द्वारा दोहराया जाता है जिसके लिए घर पंक्ति दूसरी रीढ़ की हड्डी की तरह होती है या नॉन-टच-टाइपिस्ट जो ठंडा दिखना चाहती है। गैर स्पर्श-टाइपिस्टों के लिए, होम पंक्ति बस इतना नहीं है कि तीरों तक पहुंचने के लिए दाहिने हाथ को थोड़ा और आगे बढ़ना कोई समस्या नहीं है।

विचार करना महत्वपूर्ण है कि जो लोग उस मंत्र को दोहराते हैं, वे इसके बजाय उपयोग करने का प्रस्ताव करते हैं।

ज्यादातर समय, वे उपयोग करने पर जोर देते हैं hjkl

अगर हम इस तथ्य को छोड़ देते हैं कि इन चाबियों का उपयोग केवल तभी किया जाता है क्योंकि वीआई के लेखक द्वारा उपयोग किए जाने वाले कीबोर्ड में भौतिक तीर कुंजियां नहीं थीं और इस प्रकार तीर कुंजियों के खिलाफ कोई तर्क सिर्फ तर्कसंगतता है, hjkl वैसे भी तीरों की तुलना में केवल मामूली बेहतर हैं। हां, उपयोग करने का एकमात्र लाभ hjkl तीरों पर यह है कि आप तीरों से और उसके दाएं हाथ के उस छोटे से आंदोलन को छोड़ देते हैं। क्या वह लाभ मुसीबत के लायक है आपकी कॉल है।

लेकिन दाहिने हाथ का वह आंदोलन क्यों नहीं उपयोग कर रहा है केवल तीर अक्षम है। यह अक्षम है क्योंकि वे चरित्र-दर-चरित्र और लाइन-दर-रेखा को स्थानांतरित करने के लिए आपको रोकते हैं अधिकांश पाठ संपादन के लिए आवश्यक आंदोलन की एक बड़ी श्रृंखला है।

दायां तीर हथियार 13 गुना अक्षम और उबाऊ है। क्या यह उस हथौड़ा करने के लिए बेहतर है l कुंजी 13 बार? नहीं। यह उतना ही बेवकूफ है।

जब तक आप अपने लक्ष्य तक नहीं पहुंच जाते तब तक दायां तीर दबाकर कम उबाऊ होता है लेकिन यह त्रुटि-प्रवण होता है और अंत में आवश्यक और गैर-निर्धारिती धीमी गति के कारण 13 हिट के रूप में अक्षम होता है। क्या यह उस रखने के लिए बेहतर है l कुंजी दबाया? नहीं बिलकुल नहीं।

शुक्र है कि अधिकांश जीयूआई टूलकिट जैसे combos प्रदान करते हैं Ctrl+Right जो हमें शब्द-दर-शब्द को स्थानांतरित करने या अगले अनुच्छेद या जो भी हो, ईओएल पर जाने की अनुमति देता है। ये शॉर्टकट हमें एकल तीरों के मुकाबले बहुत तेजी से और अधिक बुद्धिमानी से नेविगेट करने में मदद करते हैं। क्या हमारे पास वही है hjkl? नहीं, हम नहीं करते हैं। यदि हम चाहते हैं, तो हम एक गिनती का उपयोग कर सकते हैं, लेकिन हर गति के लिए पात्रों को गिनना कौन चाहता है? करते हुए 14k की मदद से relativenumber महान है लेकिन क्षैतिज गति के बारे में क्या? बड़ी गतिविधियों के लिए, hjkl वास्तव में संशोधक + तीर से भी बदतर हैं। और अंदाज लगाइये क्या? बड़ी गतिविधियों को हम सबसे ज्यादा जरूरत है।

लेकिन हम भाग्यशाली बास्टर्ड हैं, हमारे पसंदीदा संपादक में दर्जनों गतिएं हैं जो तीर दोनों के चारों ओर सर्किल चलाती हैं तथा  hjkl: bBeEwW/?*#{}() और इसी तरह। ये आदेश हैं कहीं से अधिक सशक्त hjkl और यदि आप का उपयोग किया जाता है तो अधिकांश भाग के लिए बहुत अधिक तार्किक और सहज ज्ञान युक्त होता है Ctrl+Right और मित्र।

से स्विचिंग <Right><Right><Right><Right><Right><Right><Right><Right><Right> सेवा मेरे lllllllll या और भी 9l हास्यास्पद रूप से व्यर्थ है।

से स्विचिंग <Right><Right><Right><Right><Right><Right><Right><Right><Right> सेवा मेरे <C-Right> काफी बेहतर है। वहां से, स्विचिंग w दोनों आसान और त्वरित है। कोई आवश्यता नहीं <nop> आपके तीर!

यदि ये आदेश अधिक उपयोगी, अधिक शक्तिशाली और अधिक सहज ज्ञान युक्त हैं hjkl, क्यों सभी नरक में इतने सारे ब्लॉगर्स और कमेंटर्स तीर को बदलने पर जोर देते हैं hjkl?

मेरे पास है। कोई जानकारी नहीं।

निष्कर्ष के तौर पर, hjkl हमारे टूलबल्ट में अपनी जगह है क्योंकि हमें हमेशा 2 अक्षरों या रेखाओं से आगे बढ़ना पड़ता है लेकिन वे जंगल को छुपाते पेड़ की तुलना में अधिक बार होते हैं। तीरों के खिलाफ प्रचार करने से सावधान रहें: आपके लिए जो कुछ भी है, वह आपके लिए बेहतर नहीं हो सकता है।


50



सबसे पहले, मैंने सोचा था कि आप कहने जा रहे थे कि 'एचजेकेएल' बेकार है, लेकिन अच्छी पकड़, शब्द / अनुच्छेद / वाक्य गति अधिक उपयोगी हैं कि मंत्र एकल चरित्र गति के संबंध में है। - Xavier T.
धन्यवाद। मैंने दूसरे दिन एचएन पर भी इसी तरह की चर्चा की थी जो खराब शब्द के कारण निकला था। किसी के प्रयासों पर ध्यान केंद्रित करना hjkl  है बेकार लेकिन hjkl उपयोगी हैं। - romainl
यहां वही है: अंत में मुझे आपका जवाब पसंद आया, लेकिन मुझे लगता है कि स्वर अनावश्यक रूप से ranting / trolling / flaming के रूप में आया था। - UncleZeiv
उन्हें बेकार मत कहो, गति के बारे में तर्क एक अच्छा है, और जिस तरह से एचजेकेएल अन्य वीआईएम कमांड के साथ काम करता है जिस तरह तीर कुंजियां भी महत्वपूर्ण नहीं होती हैं। - Aviator45003
@ T.C। पूरी बहस को और अधिक रोचक बनाने के लिए कोई उदाहरण? - romainl


दूसरों ने वर्णन किया है कि चारों ओर कर्सर को स्थानांतरित करने के अन्य तरीकों को क्यों पसंद किया जाता है, लेकिन सवाल का जवाब देने के लिए थोड़ा कहा गया है, इसे तीर कुंजियों का उपयोग करने का बुरा विचार क्यों माना जाता है?

मुझे लगता है कि मुख्य कारण (और @ स्क्वीजी कुछ हद तक इसका संकेत देता है) यह है कि वीटी 100 जैसे टर्मिनलों के दिनों में, तीर कुंजियों ने एक भागने अनुक्रम का उत्पादन किया जिसे चल रहे कार्यक्रम द्वारा व्याख्या किया गया था। (चूंकि एएससीआईआईआई में तीर कुंजियों का प्रतिनिधित्व नहीं किया जाता है, इसलिए तीर कुंजियों के टाइपिंग को कुछ "विशेष" तरीके से संप्रेषित किया जाना चाहिए।) बचने का अनुक्रम आमतौर पर कुछ ऐसा था

ESC [ A

आपके टर्मिनल, आपके कनेक्शन और आपके गुणों के आधार पर कर्सर मोड। यदि आपका खोल या आपका प्रोग्राम टर्मिनल के लिए ठीक से कॉन्फ़िगर नहीं किया गया था, तो वे एरो कुंजी के रूप में बचने के अनुक्रम को समझ नहीं पाएंगे।

जब मैं कॉलेज में था, तो वीटी 100 टर्मिनलों के माध्यम से अल्टरिक्स में लॉग इन कर रहा था, अगर मैंने सम्मिलित मोड में वीआई में रहते हुए एक तीर दबाया, तो ESC "डालने मोड से बाहर निकलें" के रूप में व्याख्या की जाएगी, और फिर निम्नलिखित [ A सामान्य मोड कमांड के रूप में व्याख्या की गई थी। जाहिर है कि उपयोगकर्ता क्या चाहता है या उम्मीद नहीं करता!

आजकल, टर्मिनल और तीर कुंजियों का संचालन अधिक मजबूत लगता है, खासकर जीयूआई वातावरण में। लेकिन एसएसएच या टेलनेट पर विम का उपयोग करते समय भी वही समस्याएं होती हैं।


16





तीर कुंजियों का उपयोग करना इस पर फंस गया है क्योंकि यह क्वॉर्वाटी लेआउट का उपयोग करते समय और कैरेक्टर पैड (?) से ड्वोरक या जो भी अन्य लेआउट का उपयोग करते समय आपको अपनी उंगलियों को होमरो से ले जाने के लिए मजबूर करता है।


14



वाह। गंभीरता से? मैं उस पर विश्वास नहीं करना चाहता, क्योंकि यह संकेत देगा कि विम डिजाइन करने वाले लोग सोचेंगे कि उनके उपयोगकर्ता सोचने से ज्यादा समय बिताते हैं। - Renan
आपको हाथ क्यों चल रहा है सोच रहा है? - EBGreen
ठीक है, जब मुझे स्कूल में ऐसा करना पड़ा, तो आप एचजेकेएल नेविगेशन का उपयोग करने से पहले एएससी को मारना पड़ा था, ताकि आप अपने बाएं हाथ को घर की पंक्ति से हटा दें ताकि आप अपने पिंकी को एसीसी तक पहुंचा सकें। मुझे याद है कि एक स्थान वापस जाने के लिए और एक अक्षर डालें जिसे आपको 'Esc: h i' दर्ज करना था और फिर वह अक्षर टाइप करें जिसे आप सम्मिलित करना चाहते थे। यह इतना उपयोगी नहीं है। - Frank Thomas
@ रेनान - आप मान रहे हैं कि 'टाइपिंग' का अर्थ है 'टेक्स्ट डालना'। जब मैं पढ़ रहा हूं और सोच रहा हूं, तो मेरे घर की पंक्तियों पर भी मेरी उंगलियां हैं, क्योंकि कुंजीपटल मैं कैसे हूं नेविगेट विम में: स्थानांतरित करने के लिए अन्य फ़ाइलों को खोलने, स्थानांतरित करने की खोज, वर्तनी त्रुटियों को ठीक करने के लिए चारों ओर घूमना आदि। - Nathan Long
@ रेनान - 1) आप बचत को कम से कम समझते हैं और 2) छोटी चीजें जोड़ती हैं। मैंने टच-टाइपिंग वीम पावर उपयोगकर्ता को अन्य डेवलपर्स की गति 10x पर संपादित किया है। पर्याप्त गति पर, संपादन स्वचालित हो जाता है और किसी के विचार या प्रवाह को बाधित नहीं करता है। इस तरह से काम करना एक खुशी है, इसलिए यह मेरी नाव तैरता है, लेकिन मैं सोचता हूं कि यह आपके विचार से बड़ा उत्पादकता बढ़ावा है। एक उदाहरण के रूप में गैरी बर्नार्ड जैसे कोडर देखने का प्रयास करें। - Nathan Long


तीर कुंजी एक समस्या प्रदर्शित करती है - यह धीमी कनेक्शन पर, पहले से ही ज्ञात थी, जैसे 1200 बॉड मॉडेम। तीर जैसे ईएससी अनुक्रम में अनुवाद करता है ESC a। अब जब ईएससी betwen और बहुत लंबा हो जाता है, तो आप एपेंड मोड के बाद एक बीईएल (या एक फ्लैश देखकर) सुनते हैं। यह के साथ प्रकट नहीं होगा hjkl चांबियाँ।


10



मुझे लगता है ESC [ A क्या आप इसका जिक्र कर रहे हैं? - LarsH
ESC [ A एक डीईसी वीटी -100 टर्मिनल है (एएनएसआई टर्मिनल डीईसी वीटी -100 का जोरदार व्युत्पन्न था) तीर। IIRC, ESC A एडीएम -3 ए तीर, या संभवतः डीईसी वीटी -52 तीर था। बिंदु वही रहता है, हालांकि, ESC तीर कुंजी के हिस्से के रूप में भेजा गया चरित्र आसानी से उलझन में था ESC मैन्युअल रूप से टाइप किया गया। - RBerteig
@RBerteig: जानना अच्छा है। - LarsH


दूसरे प्रश्न के बारे में:

[मैं] एफ आप तीर कुंजियों का उपयोग नहीं करते हैं, आप कर्सर को सम्मिलित मोड में कैसे ले जा सकते हैं?

जो मास्टर है, और इसलिए तीर कुंजी को तोड़ता है, वैसे ही "मोड" की अवधारणा भी मौजूद नहीं है।

मास्टर एक सम्मिलित मोड का उपयोग करके नया टेक्स्ट जोड़ता है, बल्कि पूर्ण सम्मिलित या प्रतिस्थापन नहीं करता है आदेशों जो एक ओपोड के साथ शुरू होता है जैसे कि i, o या cw उसके बाद पेलोड टेक्स्ट होता है, और इसे समाप्त कर दिया जाता है ESC। कमांड के पास सिंटैक्स होता है, और इसलिए मशीन कमांड के सिंटैक्स को स्वीकार करने के लिए राज्यों के माध्यम से यात्रा करती है, लेकिन मास्टर के संपादक के मॉडल में, ये एक मोड को जन्म नहीं देते हैं। शिक्षकों ने नैतिक रूप से "मोड" को क्या कहा है, मास्टर एक अधूरा कमांड राज्य है, जो सबसे घृणित स्थिति है जिसे मास्टर से बचाता है।

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

इसके अलावा, चूंकि मास्टर शायद ही कभी कमांड को अधूरा छोड़ने के लिए इस तरह से विचलित हो जाता है, इसलिए मास्टर शायद ही कभी, कभी-कभी, संपादक को अनावश्यक प्रविष्टि के कारण बीप का कारण बनता है ESC जारी "बस मामले में"।

(हालांकि, जब नेटवर्क लगी हुई है या मशीन नीचे गिर गई है, तो मास्टर पाउंड पर ESC हर किसी की तरह, उग्रतापूर्वक और बार-बार कुंजी।)


5



याद रखें, अगर viसम्मिलित कमांड एंट्री एक मोड है, फिर निष्पक्ष होने के लिए, हमें अन्य संपादकों में ऐसे सभी मोड की पहचान करनी होगी और उन्हें मोडल कॉल करना होगा। उदाहरण के लिए, जब हम Emacs में Ctrl-X दबाते हैं, तो हम एक "मोड" में होते हैं जिसमें उदाहरण के लिए, दस्तावेज़ को सहेजने के लिए Ctrl-S को हिट करना संभव है, जो उस "मोड" के बाहर काम नहीं करेगा। - Kaz


  • कुछ वातावरण में तीर कुंजियां अच्छी तरह से काम नहीं कर सकती हैं। hjkl सामान्य पात्र हैं और सभी प्रकार के टर्मिनलों द्वारा अच्छी तरह से समझते हैं।
  • आप कर्सर को स्थानांतरित नहीं करते हैं मोड डालें (के अलावा बैकस्पेस और एक लघु टाइपो को सही करने), विचार vi प्रवेश करना है मोड डालें केवल कुछ दर्ज करने के लिए। आंदोलन में किया जाता है सामान्य स्थिति
  • यदि आप कर सकते हैं, तो आप का उपयोग करने से बचना चाहिए hjkl चलने वाले वाहक को लागू करने के लिए, और इसके बजाय केवल दिशाओं के लिए उनका उपयोग करें। इसमें स्थानांतरित करने के लिए कई विकल्प हैं vi, देख: http://vim.wikia.com/wiki/Moving_around

5



वास्तव में आप कर्सर को बैकस्पेस का उपयोग करके, कम से कम बाईं ओर, डालने मोड में स्थानांतरित कर सकते हैं। लेकिन मैं मानता हूं कि आप इसे स्वतंत्र रूप से स्थानांतरित नहीं कर सकते हैं। - LarsH
मैंने यह व्यक्त करने की कोशिश की कि आप कर्सर को स्थानांतरित नहीं करना चाहते हैं मोड डालें बिल्कुल भी। - Squeezy
क्षमा करें, मैंने आपको जो कहा है, उसे मैंने गलत समझा नहीं कर सकते हैं कर्सर को सम्मिलित मोड में ले जाएं। असल में मैं कर्सर को सम्मिलित मोड में ले जाना चाहता हूं: अगर मैं कुछ नया टेक्स्ट दर्ज कर रहा हूं और मैंने गलत कुंजी दबाई है, तो मैं इसे सही करने के लिए बैकस्पेस का उपयोग करना चाहता हूं। लेकिन उस सीमित उपयोग से परे, मैं सहमत हूं। - LarsH


हां, उपरोक्त वर्णित कई कारणों से, vi मूल रूप से उपयोग करने के लिए लिखा गया था hjkl, परंतु "कभी नहीँ"एक बहुत बड़ा बयान है।

मैं संशोधित करता हूं vim (और मैं जो अन्य टूल्स का उपयोग करता हूं) जैसा व्यवहार करना चाहता हूं। यह मेरी मशीन पर बहुत अच्छा काम करता है, लेकिन एक एम्बेडेड डेवलपर के रूप में, मैं हमेशा उन मशीनों पर जो चुनता हूं उसे चुनने के लिए नहीं मिलता। मैं पुरानी मशीनों में आता हूं जो केवल हैं hjkl में नेविगेशन vi अवसर पर। जब तक मैं अपनी आदत को दोबारा नहीं तोड़ता और स्विच करता हूं, तब तक मैं दूसरी या दो तक अपनी फ़ाइल में डाले गए नियंत्रण कोड को समाप्त करता हूं hjkl

एकमात्र वैध कारण मैं "विम में तीर कुंजियों का कभी भी उपयोग नहीं कर सकता" के साथ आ सकता हूं! ऐसा इसलिए है कि आप उन मशीनों का उपयोग करने में सक्षम हैं जो तीर कुंजियों को संभाल नहीं सकते हैं। यह कहने के लिए एक बहुत पतले कारण की तरह लगता है "कभी नहीँ। "


3