Vim में बेहतर बनना [बंद]


116

मैं काफी लंबे समय से विम का उपयोग कर रहा हूं, लेकिन मैं एक ऐसे स्तर पर हूं जहां मैं ज्यादातर समय इन्सर्ट मोड का उपयोग करता हूं, और मैं अभी भी ()!

मुझे लगता है कि मुझे अपने प्यारे संपादक से सर्वश्रेष्ठ नहीं मिल रहा है, विशेष रूप से नेविगेट (विशेष रूप से कोड), कॉपी और पेस्ट करने और मौजूदा कोड के अन्य जोड़तोड़ करने के बारे में। (हालांकि मैं जटिल खोज / प्रतिस्थापित पैटर्न के साथ काफी सहज हूं)।

  • मुझे अधिक सीखने के बारे में कैसे जाना चाहिए?
  • लोग किन संसाधनों की सिफारिश करेंगे?

8
चारों ओर जाने के लिए तीर कुंजियों का उपयोग करने में क्या गलत है? यही कारण है कि वे कर रहे हैं है के लिए !
विल्क्स-

39
@Vilx, आप कंप्यूटर एक्शन गेम्स में भी तीर कुंजियों के साथ नहीं चलते हैं ! अकेले पाठ संपादकों को दें ...
पी शेव

6
@Vilx: किसी कीबोर्ड पर तीर की चाबियाँ किसी भी तरह के नेविगेशन के लिए बहुत ही असुविधाजनक जगह हैं। इसलिए वीआईएम में कैनन HJKL का उपयोग करना है, जैसे आप पहले व्यक्ति गेम में WASD का उपयोग करेंगे।
विल वुडेन

4
WASD है क्योंकि बाएं हाथ से इसका उपयोग करना आसान है, क्योंकि दाएं माउस को नियंत्रित करता है। बाएं हाथ के लोग तीर का उपयोग करते हैं। और HJKL इतनी जवाबी सहज है। कौन सी कहां चलती है?
विल्क्स-

8
वैसे मुझे लगता है कि यह "तीर बनाम hjkl" के बारे में नहीं है क्योंकि यह "कर्सर आंदोलन बनाम टेक्स्ट ऑब्जेक्ट" है।
मत्तेयो रीवा

जवाबों:


78

"क्यों, ओह, क्यों, उन #?? Nutheads vi का उपयोग करें?" "वीम वे" के लिए एक अच्छा परिचय है, विशेष रूप से टेक्स्ट ऑब्जेक्ट्स के बारे में जो विम की सबसे अधिक परिभाषित विशेषताओं में से एक है।


3
एक बोनस के रूप में, एक अच्छा चित्रमय धोखा पत्र है (लेख के अंत में जुड़ा हुआ है)।
Csaba_H

मैं उस लिंक तक नहीं पहुँच सकता जो ऐसा लगता है। कर्ल के साथ भी नहीं। क्या कोई पुष्टि कर सकता है?
एच। रैबी

66

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

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

map <up> <nop>
map <down> <nop>
map <left> <nop>
map <right> <nop>

और विशेष रूप से

imap <up> <nop>
imap <down> <nop>
imap <left> <nop>
imap <right> <nop>

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

1
मेरे लिए यह बहुत अच्छा था, लेकिन पहले कुछ दिन बेहद निराशाजनक थे। एक बार जब आपको इसकी आदत हो जाती है, और TOO में ज्यादा घुमने की आदत डालें, तो मैं imaps को फिर से सक्षम करने की सलाह देता हूं।
सारा

ये स्क्रैंकेस्ट कमाल के थे। इशारा करने के लिए धन्यवाद।
मर्ट नुहग्लू

2
तीर कुंजियों को अक्षम करना अद्भुत विचार है, मैं इसे अभी कर रहा हूं।
गोर्की

तीर कुंजियों को अक्षम करना इस धारणा पर आधारित है कि तीर कुंजियाँ hjkl की तुलना में अधिक बाहर हैं। बेहतर है कि आप बेहतर कीबोर्ड लें। मैं काइनीस एडवांटेज का उपयोग करता हूं। यहां तक ​​कि अगर मैं एक मानक कीबोर्ड का उपयोग कर रहा था, तब भी hjkl को कोई मतलब नहीं है क्योंकि मैं dvorak का उपयोग करता हूं। मेरे कहने का मतलब यह है: बिंदु "तीर कुंजी का उपयोग न करें" है, बिंदु यह है कि "सबसे कुशल साधनों का उपयोग करें और सीखने की अवस्था के कारण दक्षता हासिल न करें।"
सीमित प्रायश्चित

23
  1. vimtutorकमांड लाइन पर टाइप करें
  2. vim में जाएं, टाइप करें: मदद या <F1>
  3. मेलिंग सूची की सदस्यता लें
  4. आधिकारिक विम डॉक्स

1
एक चीज जिस पर मैंने विचार नहीं किया था, वह मेलिंग सूची में शामिल हो गई: अब किया :)
जेम्स

1
अन्य लोगों की समस्याओं को हल करके सहायता प्राप्त करने और अपने कौशल का अभ्यास करने के लिए एक अच्छी जगह है।
भूतडोगरा १४'१० बजे

1
Vimtutor के लिए +1 - आपकी मांसपेशी मेमोरी में विम रास्ता पाने का उत्कृष्ट तरीका है।
हमीश डाउनर

16

दो और सुझाव:

  • सब कुछ संपादन के लिए विम का उपयोग करें (ईमेल, वेब फॉर्म, कोड, ...)। जब कुछ धीमा लगता है , तो ऐसा करने का एक तेज़ तरीका है। :helpgrepआपका दोस्त है।

  • को सामने http://vimgolf.com/ और प्रतिस्पर्धा करते हैं। मैंने इस तरह कई टिप्स और ट्रिक्स सीखे हैं। [ डिस्क्लेमर : कोई भी जिम्मेदारी लंबे समय तक स्वीकार नहीं की जाती है कि विमगॉल्फ पर प्रतिस्पर्धा करते समय "लापता हो जाएं" ]।


2
नीट, मैं vimgolf के बारे में नहीं जानता था!
जेम्स

1
@ स्वचालित: अस्वीकरण जोड़ा गया है।
जॉन्सवेब

2
@ जॉनस्वेब: मैं वास्तव में सब कुछ के लिए विम का उपयोग करने में सक्षम होना चाहता हूं - लेकिन कैसे? हर वेब फॉर्म के अंदर एक उचित विम क्लोन प्राप्त करना आदर्श होगा - क्योंकि मैंने जो भी ब्राउज़र ऐड-ऑन पाया है, वह आमतौर पर केवल विम विशेषताओं के छोटे यादृच्छिक उपसमुच्चय को लागू करता है और इस तथ्य के लिए फिर से मैप करने के लिए कीबाइंडिंग करता है कि ब्राउज़र को अभी भी ज़रूरत है कुछ कीमैपिंग्स तक पहुंच।
कॉनराड। डीन

13

ब्रैम मूलेनार का एक दिलचस्प लेख स्वयं: प्रभावी पाठ संपादन की सात आदतें


2
इस विषय पर Google पर ब्रैम की प्रस्तुति का एक वीडियो है: video.google.com/videoplay?docid=2538831956647446078
पियरे-एंटोनी लाफेयेट

10

इस तरह मैंने विम (और अन्य चीजों का एक गुच्छा) सीखा है। यह बहुत आसान है।

मदद दस्तावेज़ों को ब्राउज़ करें और हर समय आपके द्वारा की जाने वाली चीज़ के लिए एक कमांड ढूंढें। उदाहरण के लिए एक पूरा शब्द हटा दें। इसे याद रखने के लिए इसे एक बिंदु बनाएं।

अब, अगली बार जब आप किसी शब्द को हटाने, रोकने, उसे वापस रखने और नए आदेश का उपयोग करने के लिए खुद को 'xxxxx' मार रहे हों। अगर आपको करना है तो इसे देखिए। इसलिए 'xxxxxx' को हिट करने के बजाय आप वापस जाएं और 'dw' को हिट करें।

इसे बार-बार करें, यह पहली बार में धीमा हो जाएगा लेकिन आखिरकार यह चिपक जाएगा।

एक बार जब आप उस कमांड को शीर्ष पर शुरू करते हैं। एक कार्रवाई के लिए एक और कमांड खोजें जो आप हर समय करते हैं ...

आपको आश्चर्य होगा कि आप इस तरह से नई कमांड और तकनीक कितनी तेजी से उठा सकते हैं।


7

सुझाव के अनुसार तीर कुंजियों को फिर से भरना / अक्षम करना अपने आप को उनका उपयोग न करने के लिए मजबूर करने का एक शानदार तरीका है।

एक और बात पर विचार करें: यदि आपके कीबोर्ड पर Esc को मारना सभी असुविधाजनक है, तो आप अपने OS में Caps Lock से Esc को हटाने की इच्छा कर सकते हैं। मेरे लिए यह एक बहुत ही उपयोगी कदम था, क्योंकि Esc मेरे KB पर एक अजीब पहुंच है और यह एक और बाधा थी जिसने मुझे इन्सर्ट मोड में रखा (क्योंकि बाहर निकलना मुश्किल था)। कैप्स लॉक पर Esc होने से यह एक छोटी पहुंच बनाता है और इन्सर्ट मोड में और अंदर कूदना बहुत तेज होता है।

विम में उन्नत सामान सीखने के लिए सबसे अच्छा संसाधन है: मदद, लेकिन मूल बातें नीचे पाने के लिए आपको बस इसे करने की आवश्यकता है; यह कुछ भी की तुलना में अधिक मांसपेशियों की स्मृति है। तुम कहते हो तुम खोजते हो। जानबूझकर इसे नेविगेशन टूल के रूप में उपयोग करें। खोज [/?] और इनलाइन चार आधारित खोज [एफ, एफ, टी, टी] कुछ महत्वपूर्ण विम नेवी टूल हैं। बस उनका उपयोग करें; अक्षम कर्सर कुंजी के साथ comboed आप कुछ ही समय में मांसपेशियों की स्मृति पर नेविगेट करेंगे।

पाठ वस्तुओं। आसानी से संपादक की सबसे अच्छी विशेषताओं में से एक। यह तुरंत होशपूर्वक अभ्यास करने के लिए दूसरी चीज है। Are यिव ’, 'डिट’ इत्यादि चीजें इतनी शक्तिशाली और तेज हैं; सीखने और उनका अकेले उपयोग करने से आप एक विम उपयोगकर्ता की तरह महसूस करेंगे।

एक बार जब आपको टेक्स्ट ऑब्जेक्ट और बेसिक नेविगेशन नीचे मिल जाता है, तो यह पढ़ने और सीखने से आगे बढ़ने का समय है: नियमित रूप से मदद करें और भयानक प्लगइन्स के लिए वेब को स्केरिंग करें। गंभीरता से, आप साल के लिए विम का उपयोग कर सकते हैं और "आह हा!" क्षण में गलती से कुछ अस्पष्ट tidbit पर ठोकर: आप कभी नहीं जाना जाएगा मदद।


कैप्स लॉक को रीमैप करने के बजाय मैं Ctrl-C का सुझाव दूंगा। यह टाइप करने के लिए आसान है और लिनक्स उपयोगकर्ताओं के लिए काफी परिचित है।
बैंडगैप

6

इस धागे को देखें: विम के साथ आपका सबसे उत्पादक शॉर्टकट क्या है?

खासकर पहला जवाब।


3
जैसा कि "पहले" उत्तर के लेखक को मुझे सभी निष्पक्षता में कहना है, यह जरूरी नहीं है कि आमतौर पर संपादक की अपनी महारत में सुधार के लिए सबसे अच्छा मार्गदर्शक हो। इसमें vi के साथ क्या किया जा सकता है, इसके बारे में बहुत सारी बातें शामिल हैं जब आप इसे उन तरीकों को व्यक्त करने के लिए एक भाषा के रूप में सोचते हैं जिन्हें आप पाठ, अपनी स्क्रीन / टर्मिनल और स्वयं संपादक के वातावरण में हेरफेर करना चाहते हैं। हालांकि, वहाँ बहुत सारी चीजें बहुत उन्नत हैं।
जिम डेनिस

1
मैंने उस उत्तर को पढ़ने से इतना कुछ नहीं सीखा है कि मुझे नहीं लगता कि मैं कभी दस्तावेज़ीकरण पढ़कर नहीं सीखा होगा!
जेम्स


3

मुझे अधिक सीखने के बारे में कैसे जाना चाहिए?

पूरी तरह से विम मैनुअल पढ़ें (प्रकार :h; आप वहां से ब्राउज़ कर सकते हैं)। यह है कि आप सभी आंदोलनों और आदेशों को कैसे जानते हैं। यह सबसे उपयोगी है अगर आप पहले से ही मूल बातें जानते हैं और सुधार करना चाहते हैं।

लोग किन संसाधनों की सिफारिश करेंगे?

vim.org, सबसे लोकप्रिय विम स्क्रिप्ट के माध्यम से देखें । यदि आपको कोई रुचि है, तो उनके स्रोतों की जांच करें। या बस उन्हें स्थापित करें और आनंद लें। उस साइट में स्क्रिप्ट के बहुत सारे लिंक शामिल हैं जो विभिन्न भाषाओं में सोर्स कोड ब्राउज़ करने में मदद करते हैं; और वहां उन्हें ढूंढना अपेक्षाकृत आसान है।

StackOverflow.com भी मदद की हो सकती है


3

मैंने अपने भतीजे को सीखने में मदद करने के लिए यह गेम बनाया, लेकिन यह केवल फ़ायरफ़ॉक्स और क्रोम> <पर काम करता है http://kikuchiyo.org

अभी के लिए, यह सिर्फ मूवमेंट और एंट्री मोड से संबंधित है। बीटा संस्करण आपको प्रकाश-कृपाण के साथ दुश्मनों पर हमला करने की अनुमति देता है, 'i' को बाईं ओर, और 'a' को दाईं ओर: P

विम सीखने के लिए प्रयास करते रहें, यह प्रयास के लायक है!

:)


अब यह वास्तव में एक अच्छा विचार है!
जेम्स

अपडेट: साइट अब kikuchiyos-vim-game.herokuapp.com पर है ।
किचुचियो


2

मैं अभी भी (!) को स्थानांतरित करने के लिए तीर कुंजियों का उपयोग करता हूं।

मुझे इसमें कोई समस्या नहीं दिख रही है।

सच कहूँ तो, क्या संभावना है कि आपको विम और एक कीबोर्ड का उपयोग करना होगा जिसमें तीर कुंजी का अभाव है?

तुम्हें पता है, ज्यादातर लोग विम का उपयोग करते हैं क्योंकि यह काम करता है (ओह ठीक है, क्योंकि उन्होंने इसे एक स्तर पर महारत हासिल की जब यह उनके लिए काम करता है), अभिजात्य होने के लिए नहीं (जैसे तीर कुंजी का उपयोग नहीं करना)।

आपके विम ज्ञान को बेहतर बनाने के लिए कुछ सलाह:

  • समय-समय पर एक बेतरतीब जगह पर विम मदद खोलें और एक यादृच्छिक विशिष्ट विशेषता के बारे में पढ़ें। यह आपको कुछ मिनट लगेगा। यह संभव है कि आप अगले X वर्षों के दौरान इस सुविधा का उपयोग नहीं करेंगे। लेकिन अगर आप भाग्यशाली हैं, तो आप ऐसी स्थिति में होंगे जब आप देखेंगे कि आप एक निश्चित कार्य को प्राप्त करने के लिए उस सुविधा के बारे में अपना ज्ञान लागू कर सकते हैं। आप अपनी याददाश्त को ताज़ा करने के लिए फिर से मदद खोलेंगे। कुछ समय के लिए अभ्यास में सुविधा का उपयोग करने के बाद, यह चिपक जाएगा। इस बिंदु पर आपके विम ज्ञान में सुधार किया जाएगा।
  • उपयोग: मदद प्रलेखन के यादृच्छिक स्थानों में खुदाई करने के लिए। यदि आपको कुछ करने की आवश्यकता है और आपको वह स्थान मिल जाए जो उसे डॉक्स में समझाता है, तो वहां न रुकें। डॉक्टर स्निपेट को एक बार और पढ़ें। कीवर्ड खोजें। प्रत्येक कीवर्ड के लिए, का उपयोग करें: vim प्रलेखन के अन्य भागों के साथ तार्किक लिंक खोजने के लिए हेल्पग्रेप कीवर्ड।

मुझे लगता है कि समस्या मैं सिर्फ प्रलेखन पढ़ने के साथ है कि मैं मैं वास्तव में बिना बहुत प्रभावी ढंग से चीजों को नहीं सीख सकते हैं लगता है कर उन्हें।
जेम्स

1
छोटी दूरी के लिए अपने कर्सर को स्थानांतरित करने के लिए कर्सर कुंजियों का उपयोग करना [h], [j], [k], [l] कुंजी का उपयोग करने के समान ही कुशल हो सकता है ... यदि आपकी उंगलियां किसी अन्य कारण से उनके पास होती हैं। किसी भी रैखिक कर्सर आंदोलनों का उपयोग कुछ कॉलम या आंदोलन की रेखाओं से अधिक के लिए भयानक है। आमतौर पर यह सोचना सबसे अच्छा है कि आप क्या खोज रहे हैं और व्यक्त करते हैं कि सीधे vi में / या का उपयोग कर रहे हैं? आदेश और नियमित अभिव्यक्ति। पाठ का अंतिम भाग फू के पास? जी? फू [दर्ज करें] (छह कीस्ट्रोक्स)। पहली पंक्ति के साथ "बार ... कुछ .. धमाका। इसमें 1 जी / बार। * धमाका [दर्ज] (लगभग एक दर्जन कीस्ट्रोक्स) ... और इसी तरह।
जिम डेनिस

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


2

जिस तरह से मैंने तीर कुंजियों का उपयोग करना बंद कर दिया था, वह उन्हें अक्षम नहीं कर रहा था (मैं अभी भी उन्हें इन्सर्ट मोड में उपयोग करता हूं) लेकिन अगर आप इसके बारे में सोचते हैं कि क्या आप अपनी पिंकी उंगली का सही उपयोग करना चाहते हैं जो कि lकुंजी है, तो बाईं ओर की इंडेक्स फिंगर को hदबाएं, और रिंग फिंगर ("रिंग अप") kकुंजी और "पिक डाउन" jकुंजी।

तो आपके हाथ में चार अंकों में से पहला (अंगूठे के बारे में भूल जाएं) सूचकांक एक सबसे बाईं ओर है और पिंकी सबसे दाईं ओर है। अपनी रिंग फिंगर के साथ टेलीफोन कॉल के रूप में अभिव्यक्ति "रिंग अप" का उपयोग करें और मध्य उंगली कहीं और जाने के लिए नीचे है।

यह मुझे यह समझने में भी बहुत मदद करता है कि चाबियों का नाम क्या है (एच, जे, के, एल)। वहाँ उन्हें याद करने के लिए एक अच्छा mnemonic नहीं है कि मैंने पाया है और उन कुंजियों का उपयोग करके बहुत अधिक मैपिंग नहीं है।





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