विम सीखने के क्या फायदे हैं? [बन्द है]


467

एक प्रोग्रामर के रूप में मैं कीबोर्ड पर कई घंटे बिताता हूं और पिछले 12 वर्षों से इसे कम या ज्यादा कर रहा हूं। अगर कुछ ऐसा है जो मैंने इस समय के दौरान इस्तेमाल नहीं किया है, तो यह सबसे आम कोड संपादन कार्यों में से कुछ के कारण कोडिंग करते समय मुझे अनुभव होने वाला यह कष्टप्रद और लगभग अचेतन स्थिर माइक्रो-व्यवधान है। एक अलग लाइन (या यहां तक ​​कि एक ही लाइन) से एक साधारण कॉपी और पेस्ट जैसी चीजें, या मौजूदा स्थिति से 1 या 2 लाइनों को ऊपर या नीचे ले जाने के लिए बहुत अधिक टाइपिंग की आवश्यकता होती है या तीर कुंजी का उपयोग शामिल होता है ... और यह हो जाता है इससे भी बदतर जब मैं आगे बढ़ना चाहता हूं - मैं माउस का उपयोग करके समाप्त होता हूं। अब इसी परिदृश्य की कल्पना करें लेकिन लैपटॉप पर।

मैंने हमेशा VIM सीखने पर विचार किया है, लेकिन इसे मास्टर करने के लिए जितना समय चाहिए उतना ही मुझे हमेशा कदम पीछे खींचना है।

मैं उन लोगों से सुनना चाहता हूं जिन्होंने इसे सीखा है और अगर यह उन चीजों में से एक है जो आप के बिना नहीं रह सकते हैं।

काम के दौरान, मैं VS2008, C # और R # का उपयोग करता हूं, जो एक साथ संपादन कोड को पहले से कहीं अधिक तेज और आसान बनाते हैं, लेकिन फिर भी मुझे लगता है कि मुझे माउस का उपयोग करने में आनंद नहीं मिल रहा था।

और तीर कुंजी भी नहीं।


7
कीबोर्ड और माउस के बीच स्विच नहीं करना निश्चित रूप से अच्छा है। मैक पर, मैंने BBEdit या Xcode जैसे GUI एडिटर में भी emacs नेविगेशन कीज़ (उदाहरण के लिए ctrl-A) का इस्तेमाल किया, बस माउस के साथ एक्स्ट्रा मूवमेंट से बचने के लिए।
क्रेग एस

236
यह पूरी तरह से प्रयास के लायक है। विम जानें;)
काइल वॉल्श

20
आप कुछ मिनटों में बुनियादी vim (vi के बारे में भूल जाएं) सीख सकते हैं, बस टर्मिनल में vimtutor टाइप करेंगे और आपको मूल के साथ सेट किया जाएगा - जो आप अगले 20 वर्षों में सीखते हैं वह आप पर निर्भर है। मैं बस उत्सुक हूँ कि कैसे VS2008, C # & R # आपको कीबोर्ड और तीर कुंजी / माउस के बीच अपना जीवन बर्बाद करने से संबंधित मुद्दों के साथ मदद करता है?
stefanB

43
मेरे द्वारा किए गए सबसे अच्छे निवेशों में से एक।
जॉन्सवेब

10
मैंने इस गेम को अपने सात वर्षीय भतीजे को विम में जल्दी से घूमने में मदद करने के लिए बनाया: kikuchiyo.org बीटा संस्करण आपको रोशनी के साथ दुश्मनों पर हमला करने की अनुमति देता है, 'मैं' बाएं हमले के लिए, और 'ए' सही के लिए: पीआई विम उन्हीं कारणों से आपने किया। मैं सबसे कठिन भाग के चारों ओर घूमता हुआ पाया। आशा है कि यदि आप मदद की ज़रूरत है तो खेल आपको गति प्रदान करता है :) शुभकामनाएँ! :)
किचुचियो

जवाबों:


249

मैं कुछ 20 वर्षों से vi और विम का उपयोग कर रहा हूं, और मैं अभी भी नई चीजें सीख रहा हूं।

डेविड रेनर की बेस्ट ऑफ विम टिप्स साइट एक उत्कृष्ट सूची है, हालांकि यह संभवतः अधिक उपयोगी है जब आप विम के साथ कुछ परिचित हैं।

मैं ViEmu साइट का भी उल्लेख करना चाहता हूं जिसमें vi / vim tips के बारे में कुछ बेहतरीन जानकारी है और विशेष रूप से लेख क्यों, ओह, क्यों, उन nutheads vi का उपयोग करते हैं? ( संग्रहीत संस्करण )


8
हां, मैं हमेशा इसमें नई चीजें सीख रहा हूं। फिर भी मेरा पसंदीदा संपादक भी।
क्रेग एस

20
मुझे आश्चर्य है कि अगर यह अच्छी बात है या बुरी चीज है। यदि आप लगातार नई चीजें सीखते हैं, तो सीखने की अवस्था वास्तव में खड़ी होती है, विशेषताएँ वास्तव में छिपी होती हैं और उनमें निपुणता का कोई बोध नहीं होता है। वैसे भी, यदि आप RISC चाहते थे, तो आप vim के बजाय vi के साथ गए थे, है ना?
bastibe

7
@ पेपरपर: मेरे पास एक ही विचार था। अगर आपने 20 साल बाद भी इसमें महारत हासिल नहीं की है, तो मुझे लगता है कि मुझे यकीन नहीं है कि सिर दर्द हो रहा है
Dinah

7
ऐसा कैसे? इसका मतलब यह है कि जब इसमें इतनी खूबियाँ हैं तो आप सीखते रह सकते हैं, लेकिन आपको अधिक उत्पादक बनने के लिए इन सभी को सीखने की ज़रूरत नहीं है।
अरदा इलेवन

5
"क्यों, ओह, क्यों, उन nutheads vi का उपयोग करें?" - अच्छा लिंक, विशेष रूप से सवाल के लिए

184

क्या मैं इसके बिना रह सकता था? सरलता।

क्या यह उपयोगी है? हाँ।

सीखने के कारण

  • vi सभी यूनिक्स सिस्टम पर मौजूद होने की गारंटी है और अधिकांश लिनक्स पर भी मौजूद है। उस तरह का व्यापक कवरेज इसे सीखने लायक बनाता है।

  • यह एक sudoसंपादन के लिए vi का उपयोग करने के लिए बहुत तेज है :

    $ सूदो vi

  • इसके अलावा, GMail ईमेल के इर्द-गिर्द चयन और आगे बढ़ने के लिए vi-ish कमांड का उपयोग करता है!

आपको गुरु बनने की जरूरत नहीं है।

बस सीखो

मूल बातें:

  • मोड डालने के लिए कमांड मोड से कैसे स्विच करें i
  • इन्सर्ट मोड से कमांड मोड में कैसे स्विच करें Esc
  • कमांड मोड में एक लाइन को कैसे नेविगेट करें k
  • कमांड मोड में एक लाइन को कैसे नेविगेट करें j
  • कमांड मोड में एक चरित्र को कैसे नेविगेट करें h
  • कैसे एक चरित्र को नेविगेट करने के लिए l
  • फ़ाइल कैसे सहेजें :wEnter(लिखें)
  • बचत के बिना कैसे बाहर निकलें (कमांड मोड में) :q!Enter
  • पूर्ववत् कैसे करें u
  • कैसे करें Redo Ctrl+r
  • आप लेखन और छोड़ने (कमांड मोड में) को जोड़ सकते हैं: :wqEnter

वहीं से बाकी चीजें आपको और तेज करेंगी।


मैंने हमेशा "vi आसान है; आप कर्सर को सही तरीके से स्थानांतरित करने के लिए ell कुंजी का उपयोग करते हैं" इसे शुरू करने के लिए एक विनम्र (मुझे आशा है) तरीके से। लेकिन मैं इसे लंबे समय से इस्तेमाल कर रहा हूं और इसके बिना नहीं रहूंगा। एक और जोड़े के लिए 25+ साल का दावा नहीं कर सकता, फिर भी, हालांकि, मुझसे कोई नया जवाब नहीं मिला।
जोनाथन लेफ़लर

16
यह मैंने इसे सीखा है। न्यूनतम से शुरू करें और प्रत्येक दिन उस पर थोड़ा निर्माण करें। किसी कार्य को प्राप्त करने का थोड़ा बेहतर तरीका सीखने के लिए समय निकालें। प्रेरणा के लिए "अत्यधिक पाठ संपादन की 7 आदतें" देखें।
बेन

जीमेल, Google प्रायोगिक खोज कीबोर्ड शॉर्टकट, स्लैशडॉट कीबोर्ड शॉर्टकट, मैन, और सभी कम से कम विम-जैसे बाइंडिंग का उपयोग करते हैं। यह जानकर मुझे आश्चर्य हुआ कि मैंने बिना जाने-अनजाने ये जान लिया था! यहां तक ​​कि फ़ायरफ़ॉक्स वृद्धिशील खोज के लिए / Ctrl + F से बहुत अलग अर्थ के साथ उपयोग करता है।
एडम रोसेनफील्ड

29
[:] [X] [Enter] एक ही है [:] [W] [Q] [Enter]
विटाली फेडोरेंको

20
[Z] [Z] वही है जो [:] [X] [Enter]
कोस

138

विमट्यूटोर के माध्यम से दौड़ने में मुझे केवल 30 मिनट लगे, जो कि विम से परिचित होने के लिए पर्याप्त था। यह इसके हर सेकंड के लायक था।


यदि आप एक बेहतर व्याख्यात्मक लिंक के बारे में जानते हैं, तो कृपया मेरा बदलाव करें :)
ब्लोर्बर्ड

43
vimtutor वास्तव में एक ट्यूटोरियल है। मैंने इसे लगभग 10 दिनों तक रोज किया। पहली बार मुझे लगभग 30 मिनट लगे, अगले दिन 20, फिर 15. सप्ताह के अंत तक, मैंने इसकी अधिकांश कमान अपने दिमाग में अंकित कर ली थी। मुझे लगता है कि याद करने की कोशिश करने के बजाय, पुनरावृत्ति विम के पास जाने का सबसे अच्छा तरीका है। एक सप्ताह के लिए हर रोज 15 मिनट वास्तव में छोटी कीमत की तरह लगता है।
माइकल एको

28
एक बार जब हम VIMTUTOR के साथ हो गए तो क्या होगा? अधिक जानने के लिए अगला कदम क्या है?
निजीफ


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

69

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

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

आमतौर पर विम के किलर फीचर्स पर विचार किया जाता है: A) यह बहुत अधिक हर यूनिक्स पर उपलब्ध होगा जिसका आप कभी भी सामना करेंगे और B) आपकी उंगलियों को बहुत मुश्किल से ही होम रो को छोड़ना पड़ता है, जिसका अर्थ है कि आप बहुत जल्दी से टेक्स्ट एडिट कर पाएंगे। । यह आम तौर पर बहुत तेज और हल्के होते हैं, यहां तक ​​कि बड़ी फ़ाइलों को संपादित करते समय भी।

हालांकि, बहुत सारे विकल्प हैं। Emacs सबसे आम उदाहरण है, बेशक, और यह सिर्फ एक उन्नत टेक्स्ट एडिटर की तुलना में बहुत अधिक है यदि आप वास्तव में इसमें खुदाई करते हैं। मैं व्यक्तिगत रूप से बहुत खुश हूं vim / gvim का उपयोग करने के वर्षों के बाद अब TextMate उपयोगकर्ता ।

इनमें से किसी पर स्विच करने की चाल अपने आप को उन्हें उस तरह से उपयोग करने के लिए मजबूर करना है जिस तरह से उनका इरादा था। उदाहरण के लिए, विम में, यदि आप मैन्युअल रूप से एक बहु-चरण प्रक्रिया में हर कदम का प्रदर्शन कर रहे हैं या यदि आप तीर कुंजी या माउस का उपयोग कर रहे हैं तो संभवतः ऐसा करने का एक बेहतर तरीका है। आप जो कर रहे हैं उसे रोकें और इसे देखें।

यदि आप और कुछ नहीं करते हैं, तो विम और इमैक दोनों के लिए बुनियादी नेविगेशन नियंत्रण सीखें क्योंकि वे सभी जगह पर पॉप अप करते हैं। उदाहरण के लिए, आप Mac OS में किसी भी टेक्स्ट इनपुट क्षेत्र में Emacs- स्टाइल कंट्रोल का उपयोग कर सकते हैं, ज्यादातर Unix गोले में, ग्रहण आदि में, आप Slashdot पर, कम (1) कमांड में vim-style नियंत्रण का उपयोग कर सकते हैं , जीमेल , आदि।

मज़े करो!


7
इसमें एक बिंदु यह है कि बहुत से लोग अनदेखी करते हैं। लगभग किसी भी दोहराए जाने वाले कार्य का एक शॉर्टकट होता है। डेवलपर्स शॉर्टकट पसंद करते हैं। जैसा कि रबट ने कहा, यदि आप खुद को बार-बार एक कदम प्रदर्शन करते हुए पाते हैं, तो रुकें और देखें कि क्या किसी ने पहले से ही शॉर्टकट का दस्तावेज बनाया है।
अवतारकावा

ए) मेरे लिए वीआईएम का उपयोग करने का सबसे बड़ा कारण था - मैं मूल रूप से एक एमएसीएस लड़का था, लेकिन सभी प्रणालियों में यह नहीं था और यह कभी-कभी नेटवर्क पर या व्यस्त सर्वर पर धीमा था। VIM सर्वव्यापी, छोटा और तेज़ है।
jpeacock

3
मेरा संपादक लगातार खराब चुटकुले बना रहा है। मुझे स्विच करना चाहिए।
ग्रेग ग्राहम

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

1
@ruffin यह सच है, आप वास्तव में एक ही समय में दो अलग-अलग संपादकों को मास्टर नहीं कर सकते हैं: यदि आप एक संपादक को मास्टर करते हैं, तो आप इसके कई आदेशों का अनजाने में उपयोग कर रहे होंगे , और इसका मतलब है कि आप बहुत संभावना है कि आप इसका उपयोग करने की कोशिश करेंगे जब आप दूसरे संपादक का उपयोग कर रहे हैं तो वही कमांड। कितनी बार मैंने अपने ब्राउज़र को एक साधारण से इंडेंटेशन को ठीक न करने देने के लिए शाप दिया है <esc> >i{... यह वास्तव में टच टाइपिंग के साथ ही है: आप एक कीबोर्ड लेआउट सीखते हैं, और आप उससे चिपके रहते हैं क्योंकि आप कभी रोक नहीं पाएंगे। एक अलग लेआउट पर गलत कुंजी टाइप करने से आपकी उंगलियां।
विस्फ़ोटक -

36

यह निश्चित रूप से है से प्रयास के लायक है।

एक स्पष्ट कारण है कि जो कोई भी उपयोग Vi(m)करेगा वह आपको बताएगा, और दो अन्य जिन्हें लोग कभी उल्लेख नहीं करते हैं।

यहाँ स्पष्ट है:

  1. vi एक बार सर्वव्यापी और अविश्वसनीय रूप से शक्तिशाली हो जाता है, और एक बार इसे सीखने से, आप एक कीबोर्ड वाले किसी भी कंप्यूटर पर उस शक्ति का उपयोग करने की क्षमता हासिल कर लेते हैं।

और ये जानने के लिए कम ज्ञात कारण हैं Vim:

  1. यह आधा प्रयास नहीं है जितना आपको लगता है कि यह होने जा रहा है। विम ट्यूटर के माध्यम vimtutorसे एक बार चलाएं ( एक शेल पर, या विंडोज में इसे स्टार्ट मेनू में विम फ़ोल्डर से चलाएं), और आप पहले से ही सक्षम होने के अपने रास्ते पर अच्छी तरह से हो जाएंगे, और यह सब वहाँ से डाउनहिल है। मैं उस स्तर तक था जहां मैं Vimएक सप्ताह से भी कम समय के लंच के समय में किसी भी ध्यान देने योग्य उत्पादकता को प्रभावित किए बिना काम पर उपयोग कर सकता था।

  2. यह मजेदार है ! पाठ का संपादन अब मेरे लिए एक खेल जैसा है । मैं सक्रिय रूप से इसका आनंद लेता हूं - जो बहुत हास्यास्पद है, जब आप इसके बारे में सोचते हैं।

सीखने के लिए दो अच्छे कारण भी हैं Vim:

  1. यह नशे की लत है, और जब भी आप नहीं कर सकते हैं, तो आप खुद को यह पाएंगे कि आप अपनी सभी कंप्यूटिंग Vimमें कमांड का उपयोग कर सकते हैं और शाप दे सकते हैं। सौभाग्य से, कुछ स्थितियों के लिए कम से कम, वहाँ तरीके प्राप्त करने के लिए चारों ओर इस

  2. फिर, यह नशे की लत है, और यद्यपि आप वास्तव में उपयोग करने से कोई उत्पादकता नहीं खोएंगे Vim, आप अपने Vimअनुभव को और भी बेहतर बनाने के लिए अच्छे सुझावों की तलाश में घंटों बर्बाद करेंगे , और स्टैक ओवरफ्लो पर विम टैग को पढ़ेंगे।


12
VIM सीखने के लिए "नहीं" कारणों में हाहा नंबर 2 इतना सही है। उस समय जब मैं पाठ संपादन सहेजता हूं, तो मैं पाठ संपादन के बारे में पढ़ता हूं। हास्यास्पद।
कार्ल फ्लोर्श

हाँ, मैं मैं hjkl का उपयोग कर stardew घाटी निभा सकता है की कामना की ...
Xis

32

यह निश्चित रूप से या तो विम या एमएसीएस सीखने लायक है। यह स्पर्श-प्रकार सीखने के लायक भी है। दोनों मामलों में कारण समान हैं: आपकी सोच अब आपके कोड को स्क्रीन पर लाने की यांत्रिक प्रक्रिया से बाधित नहीं होती है

शुरू करने के तरीके के रूप में, बस में गोता लगाएँ और सब कुछ के लिए विम का उपयोग करना शुरू करें।

पुनश्च Emacs-vs-vi बहस ​​अंतहीन है। मैं 26 साल से emacs का उपयोग कर रहा हूं। अगर मैंने आज फिर से शुरू किया, तो मुझे विम सीखना होगा क्योंकि (ए) यह बेहतर हो गया है और (बी) बहुत कम संशोधक कुंजी हैं (सीटीएल-एल्ट-वी, कोई भी) और विम उपयोगकर्ताओं को बहुत कम टाइपिंग चोट लगती है।


आरएसआई डेवलपर्स का एक व्यावसायिक खतरा है। मैंने कभी इस तरह से नहीं सोचा था लेकिन मुझे यकीन है कि यह एक बहुत अच्छा बिंदु है। मांसपेशियों के दृष्टिकोण से जीवा को टाइप करना बहुत कठिन है। मुझे पता था कि vi का उपयोग करने के लिए एक हत्यारा कारण था!
डिजिटलरॉस

1
मैंने दोनों का उपयोग किया है, मैं विम के साथ "बपतिस्मा" किया गया था, और कुछ महीने पहले emacs सीखा। मैं विम को पसंद करता हूं क्योंकि कार्य टूट गए हैं - आप या तो संपादन कर रहे हैं या सम्मिलित कर रहे हैं, दोनों नहीं कर रहे हैं। यह भेद मुझे सोचने में मदद करता है कि मैं क्या कर रहा हूं, साथ ही 2-4 के बजाय "सामान्य" कमांड 1-2 कुंजी स्ट्रोक करता है। मैं बस चाहता हूं कि विम लिस्प आधारित था (और नहीं, वाइपर मोड मेरे सभी विम मानक सुविधाओं का समर्थन करने में विफल रहता है। हां मैं अपना खुद का रोल कर सकता हूं, लेकिन फिर मैं उन्हें किसी भी समय याद करूंगा जब मैंने एक नया कंप्यूटर / सिस्टम को छुआ था)
वेन वर्नर

1
@WayneWerner मैं वास्तव में पुराना हो गया हूं, लेकिन आप अपने सभी संभावित संस्करणों को नियंत्रित कर सकते हैं ताकि आप उन्हें कंप्यूटर के माध्यम से सिंक कर सकें।
यूरीअल्बुकर्क

@YuriAlbuquerque, मैंने वास्तव में ऑटो-पर्यावरण सेटअप स्क्रिप्ट बनाने के बारे में बहुत गंभीरता से सोचना शुरू कर दिया है, मेरे सभी डॉटफाइल्स को जीथब या कुछ पर रख रहा है।
वेन वर्नर

17

आप केवल 16 कुंजी का अर्थ सीखकर विम से अच्छी कार्यक्षमता प्राप्त कर सकते हैं ijkdbw9:q!%s/nNEsc:। आप नंगे हड्डियों को बस के साथ कर सकते हैं i:wqEsc

आपको जिन दो कुंजी को जानना है, वे हैं: Escआपको कमांड मोड (आप जिस मोड में शुरू करते हैं) में iले जाते हैं , और आपको मोड (सामान्य टाइपिंग) सम्मिलित करने के लिए ले जाते हैं।


आप को बचाने के लिए की जरूरत है

  1. टाइपिंग मोड से बाहर निकलें ( Esc)
  2. एक कोलन टाइप करें :
  3. wफिर लोअरकेस टाइप करेंEnter

सहेजने और छोड़ने के लिए आपको आवश्यकता है

  1. टाइपिंग मोड से बाहर निकलें (Esc)
  2. एक कोलन टाइप करें :
  3. wqफिर लोअरकेस टाइप करेंEnter

नहीं-और-बल-छोड़ने के लिए आप की जरूरत है

  1. टाइपिंग मोड से बाहर निकलें (Esc)
  2. एक कोलन टाइप करें :
  3. q!फिर लोअरकेस टाइप करेंEnter

अधिक जानने के लिए आप दौड़ सकते हैं vimtutor कमांड लाइन पर । यह एक मध्यम-लंबाई, अच्छी तरह से संरचित पाठ है।

परे iऔर Esc: आप केवल के साथ कुछ एमएस वर्ड कार्यक्षमता को दोहरा या पार कर सकते हैं jkwbd3:%s/nN

  1. bआपको एक शब्द वापस ले जाता है ( Ctrl+ )
  2. wआपको एक शब्द आगे ले जाता है ( Ctrl+ )
  3. 9w आपको नौ शब्दों को आगे ले जाता है
  4. dbपूर्ववर्ती शब्द हटाता है ( Ctrl+ Backspace)
  5. d3b पूर्ववर्ती तीन शब्द हटाता है
  6. 9j 9 लाइनों नीचे चला जाता है
  7. / ornithopter Enterशब्द "ornithopter", तो के अगले उदाहरण पर ले जाता है nऔर N"ornithopter" क्रमशः के अगले और पिछले घटना करने के लिए।
  8. :%s/confounded/dangfangled/ Enter"ख़तरनाक" ( find and replace allएमएस वर्ड की तरह ) हर "कन्फ़्यूज्ड" के विकल्प

उनमें से किसी को "कमांड" मोड में चलाया जाना चाहिए ( Esc), इन्सर्ट मोड ( i) नहीं।


16

मैंने हाल ही में VIM पर स्विच किया है, और मुझे लगता है कि यह इसके लायक है। यदि आपको "बस कुछ करने की ज़रूरत है", तो आप हमेशा इन्सर्ट मोड में रह सकते हैं, जहाँ विम एक सामान्य टेक्स्ट एडिटर की तरह होता है।

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


12

यह निर्भर करता है कि आप VIM के साथ क्या करना चाहते हैं। इसका मतलब यह नहीं है कि इसे सीखना केवल इसलिए है क्योंकि बहुत से लोग इसके बिना नहीं रह सकते।

जब मैं UNIX वातावरण पर बहुत काम कर रहा था, मैं इसके बिना नहीं रह सकता था। यहां तक ​​कि जब वीआईएम को UNIX मशीन पर स्थापित नहीं किया गया था, तो मैं कम से कम vi का उपयोग कर सकता था। आप हमेशा इस पर भरोसा कर सकते हैं - भले ही मशीन आपकी (ग्राहक से) न हो।

अब मैं C # में प्रोग्राम करता हूं और ज्यादातर विंडो एनवायरनमेंट पर काम करता हूं। मैंने अपने पीसी पर वीआईएम स्थापित किया है ... और मुझे इसकी आवश्यकता नहीं है।

मूल्यांकन करें कि क्या आपको वास्तव में VIM की आवश्यकता है और यदि यह आपके "काम के प्रवाह" में आपका समर्थन करता है। कोशिश करके देखो। इसके साथ खेलें। यदि आपको लगता है कि आपको इसकी आवश्यकता है, तो उससे चिपके रहें ... सीखने की अवस्था बहुत ही खड़ी है।


VIM उपयोगकर्ताओं के लिए एक दृश्य स्टूडियो एक्सटेंशन है, इसे visualstudiogallery.msdn.microsoft.com/…
yoel halb

10

मैंने vi सीखा क्योंकि मुझे करना था।

मेरे पागल शिक्षक ने हमें AIX सिस्टम के लिए टर्मिनल का उपयोग करके C में प्रोग्राम करने के लिए सीखने के लिए मजबूर किया।

यह एक वास्तविक दर्द था, लेकिन इसके लायक था।

आज, मैं केवल त्वरित संपादन या छोटे कार्यक्रमों के लिए vi का उपयोग करता हूं।

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

मुझे नहीं पता कि VS2008 में कितने शॉर्टकट हैं, लेकिन यदि वे ग्रहण के रूप में खोज योग्य हैं, तो मुझे लगता है कि आप मुसीबत में हैं vi।

यदि आप IDE के बाहर कोड को संपादित नहीं करते हैं और आपके IDE में अच्छे शॉर्टकट हैं, तो आप बेहतर तरीके से उन्हें सीखते हैं, और फिर, वैसे भी vi सीखें।

:)


उन्होंने कहा कि एक राय नहीं VIM के लाभों के लिए कहा।
ब्लेज़349

@ ब्लेज़349 नप, उन्होंने लोगों के बारे में सुनने के लिए कहा कि इसे कैसे सीखा है (मूल पोस्ट यहाँ देखें) जो कि मैंने ठीक उत्तर दिया है। यह प्रश्न लगभग 8 साल पुराना है और वर्षों के दौरान कई समीक्षाओं के माध्यम से किया गया है, मेरा उत्तर मूल से मेल खाता है। टिप्पणी करते समय इसे ध्यान में रखें।
OscarRyz

9

मैंने 25+ वर्षों के लिए vi / vim का उपयोग किया है। यदि आप पहले से ही कुछ कमांड-लाइन संपादक जानते हैं, तो शायद आपको vi / vim सीखने की आवश्यकता नहीं है। लेकिन अगर आप किसी अन्य कमांड लाइन के संपादकों को अच्छी तरह से नहीं जानते हैं, तो यह सीखने लायक है। थोड़े प्रयास से vi / vim में उत्पादक होना बहुत आसान है।


6

मैं अब बहुत विशेष रूप से VIM का उपयोग करता हूं।

मैं संपादन के लिए विम का उपयोग करता था और डीएस संपादक डिबगिंग के लिए। यह शायद थोड़ा सा पागलपन लगता है, लेकिन मुझे अपनी उत्पादकता में वृद्धि के लिए वीए प्रतिमान (मैक्रोज़, होम की बेस्ड एडिटिंग इत्यादि) मिला, जो वीएस में एडिटिंग का रंग था।

Viemu के लिए धन्यवाद , मुझे किसी भी स्विचिंग को करने की ज़रूरत नहीं है। यह अभी तक सही समाधान नहीं है (कोड पूरा करना कभी-कभी देशी विम के रूप में सुरुचिपूर्ण नहीं है और मैक्रो रिकॉर्डिंग सही नहीं है), लेकिन यह लगातार आगे और पीछे स्विच करने से बेहतर है।

विम के लिए सीखने की अवस्था शायद अतिरंजित है। मुझे लगता है कि एक बार जब आप इसे प्राप्त करते हैं, तो यह बहुत सहज है।


5

मेरी नौकरी ने मुझे विम चुनने के लिए मजबूर किया और यह जल्दी से दूसरी प्रकृति बन गई। अब मेरी शिकायतें IDE के बारे में हैं, जिनमें vim emulation या plugins नहीं हैं। मुझे लगता है कि esc कुंजी विम के बाहर मेरा दुश्मन बन गया है नोटिस करते हैं।

मुझे विजुअल स्टूडियो के भीतर vi के लिए कई एमुलेटर मिले:

http://code.google.com/p/vim-visual-studio/


4

सबसे पहले अच्छा vi (m) ज्ञान आपको उस समय की बचत करेगा, जब आप सेज के तहत सर्वर पर कॉन्फिग फाइलों का आपातकालीन संपादन करने के लिए ऊधम मचाते हैं। यह एक पागल ssh कनेक्शन पर पकड़ कर सकते हैं।

यदि आप इसे एक एर्गोनोमिक कीबोर्ड के साथ प्रभावी ढंग से उपयोग करते हैं, तो व्यवस्थापन सामान की विधि कार्पल टनल के खिलाफ आपका सबसे अच्छा बचाव होगा।

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

और मदद पढ़ें


4
मैं भी वीआई इनपुट मॉडल को कार्पल टनल सिंड्रोम से खुद का बचाव करने के लिए महान पाता हूं ...
सीएमएस

ऐरो कुंजी? अपने .vimrc में प्रयास करें: मानचित्र <up> <nop> map <down> <nop> map <left> <nop> map <right> <nop> imap <up> <nop> imap <down> <nop> imap < बाएँ> <nop> imap <दाएँ> <nop>
sjas

1
मैं सिर्फ यह बताना चाहूंगा कि nanoविम के मुकाबले उपयोग करना इतना आसान है, और यह लगभग उतना ही व्यापक है।
माइटपॉर्क

4

Vi / vim के दो फायदे:

  • यह बहुत हल्का है

  • यह लगभग हर * NIX सिस्टम पर स्थापित है


8
आपने यू के बजाय * क्यों रखा?
कामरान बिगली

4
@kami: एक बालक देर से, लेकिन यहाँ आप जाते हैं: en.wikipedia.org/wiki/Unix-like
orpp

क्या Vim वास्तव में "लाइट-वेट" है, अन्य टेक्स्ट एडिटर्स की तुलना में?
बेन

4

मैं दूरस्थ कंप्यूटर पर एक बहुत बड़ा लिनक्स प्रोजेक्ट बना रहा हूं। ग्रहण या समान GTK आधारित IDE का उपयोग करने का कोई विकल्प नहीं है। मैं वहां 3 साल से काम कर रहा हूं। और मैंने इस प्रोजेक्ट के लिए अपना वीम सेट किया। और अभी भी ट्विक कर रहा हूं।

अब मैं विम से कोई भी काम कर सकता हूं: स्रोत नियंत्रण, sql, डिबग, संकलन, ब्राउज़िंग - वास्तव में 1Gb स्रोत कोड पर तेजी से ब्राउज़िंग।

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


4

मैंने विम सीखा। यह बहुत अधिक प्रयास नहीं था। अब मैं बिल्कुल ci "ci (cw V: s / from / to / g) से प्यार करता हूँ


3

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

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


3

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

यहाँ हैं एक कुछ लिंक है कि मैं उपयोगी विम स्क्रीनकास्ट आप को दिखाने के लिए के लिए यह क्या करने में सक्षम है मिल गया है।

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


3

हां, कम से कम 'vi' और 'vim' के बारे में जानने के लिए समय जरूर निकालें। यह बहुत अच्छी तरह से यात्रा करता है।

जब आप एक ग्राहक यूनिक्स / लिनक्स / मैक प्रणाली के साथ सामना कर रहे हैं, तो आप कभी नहीं अटकेंगे, जिसके लिए आपके पास क्षमताएं स्थापित नहीं हैं। यहां तक ​​कि विंडोज पर (यदि आपके पास स्थापित क्षमताएं हैं) 'विम' स्थापित करने के लिए स्वतंत्र और आसान है। (जैसा कि आपके सीखने की अवस्था को पूरी तरह से अल्ट्राएडिट की तरह निवेश करने के विरोध में, जो कि एक उत्कृष्ट संपादक आपके लिए हर समय उपलब्ध नहीं हो सकता ...)।

लर्निंग vi आपको 'सेड' जैसे अन्य टूल सीखने के लिए सेट कर सकता है, और सामान्य रूप से रेगेक्स: सामान जो आमतौर पर हस्तांतरणीय है।

इसके अलावा अगर आप एक उचित गीक बनना चाहते हैं, तो आपको बस 'vi / m' जानना होगा या आप एक faker की तरह दिखेंगे ;-)


2

मुझे लगता है कि यह निश्चित रूप से समय और प्रयास के लायक है। मेरे लिए, यह पाठ के चारों ओर टाइपिंग और नेविगेटिंग को इतना कुशल बनाता है, इमेक या ctrl / shift / alt / meta key combos पर वापस जाने की कल्पना करना कठिन है।

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


2

विम की अद्भुत सर्वव्यापकता, और सामान्य रूप से वि-क्लोन की और भी अधिक अद्भुत सर्वव्यापकता, यूनिक्स प्रणालियों पर केवल इसे सीखने लायक बनाने के लिए पर्याप्त है।

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

बेशक, Emacs की भीड़ Emacs- शैली की सोच के बारे में एक ही बात कहती है, लेकिन मैंने Emacs सीखना छोड़ दिया क्योंकि विम सरल था और मेरे लिए काम किया।


2

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

एक बात जिसका मैंने उल्लेख नहीं किया है, वह यह है कि विए को कुछ सर्किलों में "गीक क्रेड" का अतिरिक्त लाभ है। मैं कम से कम कुछ लोगों के बारे में सोच सकता हूं, जो एक फ़ाइल में कुछ बदलाव करने के लिए एक नया प्रोग्रामर फायर करते हैं, जब वे nedit देखते हैं।


2

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

इसके अलावा, यदि आप इसे गहराई से प्राप्त करते हैं, तो विम स्क्रिप्ट योग्य है। संभावनाएं वस्तुतः अंतहीन हैं।

(हाँ, यह सब emacs पर भी लागू होता है ...)


2

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

यह भीख मांगना मुश्किल था लेकिन अब मैं आसानी से अपने सर्वर को सेट और ट्यून कर सकता हूं।


2

आप विम सीखना चाह सकते हैं क्योंकि आप उन संपादकों से खुश नहीं हो सकते जो आप पहले से उपयोग कर रहे हैं।

आप विम सीखना चाह सकते हैं क्योंकि कई लोग कहते हैं कि यह शांत है। इस प्रश्न के लिए आपको कितने उत्तर मिले हैं।

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


2

Vi (m) तेजी से सीखने के लिए पहले पूरे डिजाइन को समझना चाहिए। विम में कर्सर-आंदोलन कमांड का एक बड़ा सेट है, कुछ जांचें (एक्स एक चरित्र, # एक अंक है):

jk में तीर दर्ज करें 0 $ w w b b ctrolD crtolU ctrolE ctrolY HML fX FX tX TX ;; % gg G n N mX 'X' '

और भी बहुत कुछ उबाऊ होगा। इनमें से कई कमांड से पहले एक गिनती का समर्थन करते हैं, जैसे 4j 4 लाइनों को ऊपर ले जाने के लिए।

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

यह डिजाइन काफी शक्तिशाली है। यह भी कम करता है, या व्यवस्थित करता है, जो आपको सीखने की आवश्यकता है। निश्चित रूप से पहला कदम कुछ कर्सर आंदोलन कमांड सीखना है। कहते हैं, 8 या 10 पहले। फिर आप लगभग हो चुके हैं।


2

कुछ नया सीखना हमेशा प्रयास के लायक है, IMHO। मेरा सुझाव है कि आप एक धोखा शीट का प्रिंट आउट लें और अपने आप को इसे दिन और दिन के उपयोग के लिए मजबूर करें।


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

2

विम निश्चित रूप से संक्षेप में सीखने लायक है जो पहले बताए जा चुके हैं, इसके मुख्य कारण हैं:

  • Vi / Vim को अधिकांश यूनिक्स प्रणालियों पर पाया जा सकता है।
  • विम आपको बिना कीबोर्ड से हाथ निकाले आसानी से कोड करने की अनुमति देता है।
  • यदि आप एक यूनिक्स आधारित प्रणाली में किसी भी चीज़ को कॉन्फ़िगर करने की योजना बनाते हैं, तो क्या आप एक उचित कुछ कॉन्फिग फाइलों का संपादन करने जा रहे हैं, इसलिए आप एक टर्मिनल आधारित संपादक सीखना चाहेंगे, जिसमें से विम सबसे अच्छा (क्षमा करें)।
  • विम ने लगभग हर ओएस के लिए बायनेरिज़ का संकलन किया है। पोस्ट करने की कोई ज़रूरत नहीं है "मुझे [सम्मिलित करें ओएस] के लिए एक टेक्स्टमेट विकल्प की आवश्यकता है", आपके पास इसके बजाय विम होगा!
  • कार्यक्षमता की एक बहुत जोड़ने के लिए बहुत सारे अच्छे प्लगइन्स हैं, जैसे कि इन-एडिटर cv में अंतर होता है, हालांकि इनमें से कुछ में उचित मात्रा में टिंकरिंग की आवश्यकता होती है।

साइड नोट पर भी अगर आपको विम कुंजी बाइंडिंग पसंद है, तो आईडीई भी हैं जो सरल कमांड के लिए अपने संपादकों में विम बाइंडिंग को शामिल करते हैं, उदाहरण के लिए कोमोडो एडिट

विम सीखने में मदद के लिए, अपने टर्मिनल में 'विमटॉर' टाइप करने का प्रयास करें और निर्देशों का पालन करें। एक पुस्तक भी है जो विशेष रूप से अच्छा हैकिंग विम है


2

नहीं, सीखना व्यर्थ प्रयास से अधिक मूल्य का है।

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