मैं इस बात पर विचार कर रहा हूं कि क्या मुझे आईडीई के बजाय फिर से वीआईएम का उपयोग शुरू करना चाहिए। एक आईडीई में मानक नहीं हैं कि वीआईएम की सबसे उपयोगी विशेषताएं क्या हैं?
emacs
इसके बजाय उपयोग करना शुरू कर सकते हैं। ;-)
मैं इस बात पर विचार कर रहा हूं कि क्या मुझे आईडीई के बजाय फिर से वीआईएम का उपयोग शुरू करना चाहिए। एक आईडीई में मानक नहीं हैं कि वीआईएम की सबसे उपयोगी विशेषताएं क्या हैं?
emacs
इसके बजाय उपयोग करना शुरू कर सकते हैं। ;-)
जवाबों:
मुझे नहीं लगता कि इसकी जरूरी विशेषताएं VIM की उन्नत विशेषताएं हैं जो इसे इतना शक्तिशाली बनाती हैं। इसका तथ्य यह है कि आपको कभी भी कुछ भी करने के लिए कीबोर्ड से अपने हाथ नहीं हटाने होंगे। एक विशाल फ़ाइल में कुछ खोजना कीस्ट्रोक्स के एक जोड़े के रूप में सरल है। एक ही विंडो में कई फाइलें खोलना और बंद करना अविश्वसनीय रूप से तेज है।
हालांकि यह पहली बार में सहज नहीं लग सकता है, लेकिन यह आपके समय के लायक है। यहां तक कि अगर आप इसे अपने मानक आईडीई के रूप में उपयोग नहीं करते हैं (मैं आमतौर पर विज़ुअल स्टूडियो या एक्लिप्स का उपयोग करता हूं, उदाहरण के लिए), तो आप अपने स्वयं के वीआईएम का उपयोग करके फ़ाइलों को जल्दी से खोलेंगे और संपादित कर पाएंगे क्योंकि यह आईडीई की प्रतीक्षा करने की तुलना में तेज़ हो जाता है। भार।
वीआईएम का अच्छी तरह से उपयोग करने का तरीका जानने के लिए समय का निवेश करें और आप इसे कभी पछतावा नहीं करेंगे। मैं इसके टच-टाइप करने के लिए सीखने की तुलना कहूँगा।
मेरे लिए :global
कमांड एक किलर ऐप है। यह किसी भी लाइन पर मनमाना vim कमांड निष्पादित करेगा जो एक रेगेक्स से मेल खाता है (या मेल नहीं खाता)।
यहाँ कुछ उदाहरण हैं:
डिफ़ॉल्ट व्यवहार हर उस रेखा को सूचीबद्ध करता है जो मेल खाती है, इसलिए:
:g/TODO:/
हर पंक्ति को सूचीबद्ध करेगा जिसमें "TODO:" पाठ शामिल है।
'मिकी' को किसी भी लाइन पर 'मिन्नी' में बदलें जिसमें 'माउस' शब्द भी हो
:g/Mouse/ s/Mickey/Minnie/
कमांड की अपनी सीमा हो सकती है, इसलिए यह "TODO:" के साथ हर लाइन से अगली खाली लाइन तक हट जाएगी:
: g / TODO: /।, / ^ $ / d
का प्रयोग करें: जी! रेग्क्स से मेल न खाने वाली हर लाइन पर अमल करना, जैसे "वीक्स" को "वीक्स" से बदलना, जैसे कि "बेकार" शब्द को शामिल करना:
:g!/sucks/ s/emacs/vim/
मैं युग्मित प्रतीकों के एक सेट के बीच अविश्वसनीय रूप से उपयोगी सभी चीजों को हटाने की क्षमता पाता हूं। उदाहरण के लिए, काफी बार, मैं खुद को कोड में एक स्ट्रिंग को बदलने के लिए चाहूंगा। इसलिए, di"
जबकि कर्सर ब्लॉक में है, स्ट्रिंग को हटा देगा, जबकि ""
अक्षुण्ण रखते हुए , और कर्सर को दो उद्धरण वर्णों के बीच में रख देगा। da"
एक ही बात करता है, लेकिन उद्धरण वर्णों को भी हटा देता है।
ci"
हटाता है और कर्सर को इन्सर्ट मोड में डालता है ताकि आप तुरंत लिखना शुरू कर सकें।
'प्रविष्टि मोड कीवर्ड पूर्णता'। Ctrl-P और Ctrl-N इंसर्ट करने के लिए टेक्स्ट के माध्यम से सर्च करने के लिए जो भी वैरिएबल नाम आप टाइप कर रहे हैं उसे पूरा करने के लिए। मैंने इसे किसी अन्य आईडीई में कभी नहीं देखा है और मैं वास्तव में इसे याद करता हूं। आईडीई के कोड को पूरा करने का कोड समान नहीं है।
^X^O
यदि आप इसे सक्षम करते हैं, तो omni- इन्सर्ट मोड में। लेकिन आप सही हैं, मैं खुद को ओमनी-पूर्ण से कहीं अधिक कीवर्ड पूर्णता का उपयोग कर पाता हूं।
एक अन्य विशेषता जो मुझे अविश्वसनीय रूप से उपयोगी लगती है वह है इंडेंटेशन को बदलने की क्षमता। :15,30>>
15-30 (समावेशी) से सभी लाइनों को दो बार :15,30<<
प्रेरित करता है , जबकि एक ही लाइनों को दो बार डी-इंडेंट करता है।
=
है जैसे, अगर अधिक नहीं, से अधिक उपयोगी <<
और >>
।
कमांड dd (करंट लाइन हटाएं)। मैं इस एक का इतना उपयोग करता हूं।
इसके अलावा, 3 डी की तरह कुछ टाइप करने और अगली 3 लाइनों को हटाने में सक्षम होना अद्भुत है। मैंने इसे किसी अन्य संपादक = डी में कभी नहीं देखा है
.
आदेश। यह आखिरी कमांड को दोहराता है।
कमांड लाइन के लिए तेजी से पहुँच। CTRL + Z या: wqa मुझे कीबोर्ड से मेरे हाथ के बिना 1sec से कम में कमांड लाइन मिलेगी।
:!/bin/bash
। मैं :!
अक्सर उपयोग करता हूं ।
:sh
यह सवाल का अस्पष्टता के कारण कुछ हद तक जवाब देने के लिए कठिन है, और कुछ हद तक इस तथ्य से कि आईडीई के अलग हैं, और कई ऐसे फीचर्स प्रदान करते हैं जो अन्य नहीं हैं (और यह तथ्य कि मैं उनमें से कुछ ही हूं)।
हालाँकि, मेरा मानना है कि विम को अन्य संपादकों (हाँ, यहां तक कि इस पर एमएसीएस) से अलग है, यह वास्तव में एक महान संपादक है । मैं समय के गुजरने में, कई संपादकों का इस्तेमाल किया है, और ईमानदारी से कह सकते हैं कि बहुत कम ही पाठ में हेरफेर करने के लिए इस तरह के पूर्ण सेट के साथ आते हैं, जैसे विम करता है।
उदाहरण के लिए पाठ में हेरफेर करने की मेरी शैली में बहुत बार (लाइन / कई लाइनों का चयन) दोहराव का उपयोग और ऊपर और नीचे (कई लाइनों का लाइन / चयन) शामिल है, जिसके लिए मैंने बहुत पहले त्वरित शॉर्टकट परिभाषित किए हैं। मैं सबसे IDE में उन सुविधाओं को याद करता हूं (हालांकि मैंने सुना है कि ReSharper for VS में भी कुछ ऐसा ही है)।
क्या आप जानते हैं कि ग्रहण के लिए एक vi प्लगइन है ? इसकी कीमत 15 यूरो (20ish यूएस डॉलर) है लेकिन यह इतनी कीमत है। dd
एक दस्तावेज़ के बीच में और अधिक नहीं , और सभी छोटी उपयोगी चीजों को याद नहीं करना।
शायद थोड़ा सा विषय लेकिन मुझे लगा कि यह इंगित करने लायक था।
इस बात पर निर्भर करते हुए कि आप किस भाषा में प्रोग्रामिंग कर रहे हैं, विचारधारा से चिपके रहें, या उस विचारधारा को प्राप्त करें जो आपको सबसे अधिक रिफ्लेक्टर प्रदान करती है, जो आपको मिल सकती है, विजुअल स्टूडियो के लिए रिचार्पर प्राप्त कर सकते हैं यदि आप c # कर रहे हैं, जावा के लिए intellij, या विज़ुअल स्टूडियो के लिए दृश्य सहायता, ग्रहण या netbeans में प्रतिक्षेपक को अधिकतम करें।
हमें कोड में हेरफेर करने के लिए पाठ में हेरफेर करने से आगे बढ़ना चाहिए, रीफैक्टरिंग उपकरण आपको वह क्षमता प्रदान करते हैं। अगर विम आपको सभी सुविधाएं ठीक देता है, तो मैं एक के लिए वास्तव में एक पाठ संपादक के साथ सौदा नहीं करना चाहता
अधिकांश आईडीई आपको स्क्रीन को विभाजित करने की अनुमति नहीं देते हैं। मुझे वह फीचर VIM में पसंद है।
<C-w>