आप किन Vim फीचर्स का उपयोग करते हैं? [बन्द है]


13

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


1
ऐतिहासिक उद्देश्यों के लिए, यहाँ मूल SO प्रश्न का लिंक दिया गया है: stackoverflow.com/questions/95072/…
जैक्सन

नीचे मेरी टिप्पणी पर ध्यान दें, और आपको टाइप भी नहीं करना पड़ेगा gv। :)
नाथन लॉन्ग

जवाबों:


9

:% s / x / y / g

यह कमांड वर्तमान फ़ाइल में x के सभी उदाहरणों को y के साथ बदल देता है । यह मूल रूप से सिर्फ एक खोज और प्रतिस्थापन है, लेकिन मैं इसे इतनी बार उपयोग करता हूं क्योंकि मैंने इसे काम पर सीखा है कि यह अमूल्य हो गया है।

इसके अलावा, / खोज स्ट्रिंग

फिर फ़ाइल के भीतर खोज स्ट्रिंग के सभी उदाहरणों के माध्यम से नेविगेट करने के लिए n । मैनुअल करने के लिए बढ़िया एक बहुत अधिक आसानी से tweaks, खासकर यदि आप पूरी फाइल के लिए एक नियम लागू नहीं कर सकते।


मैं वास्तव में काम पर हमारे कोडबेस के एक बड़े हिस्से को परिवर्तित करने पर काम कर रहा हूं और मैं इसे पूरी तरह से नियमित अभिव्यक्ति (अब तक) के साथ कर रहा हूं। यह वास्तव में अच्छी तरह से काम करता है!
फेम श्मिट

कमांड अंतःक्रियात्मक बनाने के लिए इसके अंत में 'c' जोड़ें। उदाहरण:% s / x / y / gc
sml

1
ध्यान दें कि %प्रतिस्थापन कहां करना है - %इसका मतलब है "वर्तमान फ़ाइल।" यदि आप नेत्रहीन रूप से कुछ पंक्तियों और प्रकार को हाइलाइट करते हैं :s, तो आप उस चयन में एक प्रतिस्थापन कर सकते हैं।
नाथन लॉन्ग

7

== वर्तमान लाइन पर अच्छा ऑटो-इंडेंटिंग करता है।

आम तौर पर, हालांकि, मैं =एक गति के साथ उपयोग करता हूं , जैसे =Gफ़ाइल के अंत में इंडेंट करना, या =i}घुंघराले ब्रेसिज़ के वर्तमान सेट के अंदर इंडेंट करना।


2
यह भी ध्यान रखें >> और << जो मैन्युअल रूप से कर सकते हैं (संयुक्त राष्ट्र)।
फेम श्मिट

@ क्रू - हां। इसके अलावा, यदि आप जोड़ते हैं vmap <Tab> >gvऔर vmap <S-Tab> <gvआपके पास हैं .vimrc, तो आप क्रमशः टैब और शिफ्ट-टैब के साथ इंडेंट और अनइंडेंट कर सकते हैं, और यह विजुअल सिलेक्शन मोड में वापस चला जाएगा ताकि आप आगे इंडेंट या अनइंडेंट कर सकें।
नाथन लॉन्ग

6

=% कोड के एक ब्लॉक के भीतर सब कुछ ऑटो-इंडेंटिंग के लिए।


ओह! यह मेरे लिए नया है!
श्मिट

यदि आपका कर्सर शुरुआत में है तो यह काम करता है {। यदि आप ब्लॉक के अंदर हैं, तो आप =i{"घुंघराले ब्रेस के अंदर इंडेंट" के लिए कर सकते हैं ।
नाथन लॉन्ग

5

*कर्सर के नीचे शब्द खोजने के लिए कमांड मोड में उपयोग करें ।


1
और यह मत भूलो कि यह बहन का आदेश है, #, जो एक ही काम करता है, लेकिन आगे की बजाय पीछे की ओर जाता है!
फ्मिड श्मिट

5

:!आदेश - के लिए अमूल्य lsing, और "sudo टी" चाल।

मुझे टी ट्रिक समझाने के लिए कहा गया है। मूल रूप से, यह आपको व्यवस्थापक प्रिवी कॉलेजों के साथ एक पाठ फ़ाइल को सहेजने की अनुमति देता है, भले ही आपने वीआईएम को रूट के रूप में शुरू नहीं किया हो:

:w !sudo tee %

आप यहाँ में "sudo tee" ट्रिक को समझाना चाह सकते हैं :-) इसके अलावा मुझे यह करना पसंद है: वेरिएबल परिभाषाओं और व्हॉटन को हाइलाइट करने के बाद सॉर्ट करें।
फेम श्मिट

तुम सच में एक महान "पटकथा" संपादक में विम का उपयोग कर सकते हैं:! और कुछ शेल / पायथन / पर्ल / अन्य स्क्रिप्ट।
जोनास

मेरे पास वास्तव में एक विकल्प है !ls, जो एक चलाता है vnew, r!lsनए बफर में आउटपुट करता है, और इसे क्षैतिज रूप से सिकोड़ता है। मैं तीन से अधिक के साथ एक निर्देशिका में सभी फ़ाइलों को याद करने के लिए परेशान नहीं किया जा सकता है;)
new123456

4
.

मार रहा है। कुंजी पिछले कमांड को दोहराती है। के लिए लवली, कहना, संपादन .ini, या तो।


यह आश्चर्यजनक रूप से शक्तिशाली है, लेकिन इससे पहले कि आप वास्तव में इसके साथ अच्छे हो सकें, थोड़ा सा समय लगता है।
अरोन


2

मैं हमेशा gq का उपयोग ईमेल, पाठ फ़ाइलों आदि पर लाइन ब्रेक को फिर से करने के लिए करता हूं, ईमेल का जवाब देते समय वास्तव में उपयोगी होता है (मैं पाइन का उपयोग करता हूं) और कई पिछले उत्तरों का संपादन करता हूं।


बेनाम: Oooh, मैं इस बारे में पूरी तरह से भूल जाएगा!
श्मिट

क्यों, ओह क्यों, अधिक लोकप्रिय ईमेल क्लाइंट समान कार्यक्षमता का समर्थन नहीं कर सकते हैं?
एरचुई

हाल ही में मैं gq के बजाय gw का उपयोग कर रहा हूँ क्योंकि यह कर्सर स्थिति रखता है
SergioAraujo

2

कहां से शुरू करें ... यहां वे चीजें हैं जो मैं याद कर सकता हूं कि मैंने पिछले 5 मिनटों में उपयोग किया है।

  • एनईआरडी ट्री - फ़ाइल खोज। VIM को IDE की तरह बनाता है।
    • मेरे लिए एक बहुत बड़ी बात cdएक निर्देशिका की क्षमता है और फिर मेरे शेल मैपिंग (नीचे) के माध्यम से एक शेल प्रॉम्प्ट पर ड्रॉप करें।
  • ci खाली करने के लिए जो भी आप के बीच फंस गए हैं।
  • :! मानक एप्लिकेशन लॉन्च करने के लिए।
    • मेरे पास शेल प्रॉम्प्ट, mysql क्लाइंट, अपाचे लॉग फाइल आदि लॉन्च करने के लिए मैपिंग है।
    • तोड़फोड़ एकीकरण हमेशा अच्छा है। त्वरित diffs, stats, आदि।
  • :abbr बड़े ब्लॉक के दोहराव टाइपिंग के लिए चले जाओ।
  • टैब्स। क्या मुझे कुछ और कहने की ज़रूरत है?
  • फ़ाइलों को विभाजित करना, हमेशा अच्छा। :Sexहमेशा अच्छा होता है।
  • :set paste! ऑटो-इंडेंट रन एमोक होने से रखने के लिए।

मैं इन सभी का उपयोग करता हूं सिवाय एब्स के। मैं संक्षिप्त रूप से बहुत अधिक मैक्रोज़ बनाता हूं।
फेम श्मिट

2

ZZ सहेजें और बाहर निकलें (के बजाय: wq!)


है ना? एक्स के बारे में क्या ?
DevSolar

1

C / Tcl / Perl कोड लिखते या ट्रेस करते समय मैं निम्नलिखित आदेशों का अत्यधिक उपयोग करता हूं:

कॉपी-पेस्ट कोड

CTRL-fऔर ब्लॉक फॉर बाय-ब्लॉक ट्रैवर्सल गोटो के CTRL-bलिए पेज फॉरवर्ड और बैकवर्ड ट्रैवर्सल लाइन गोटो की शुरुआत लाइन के अंतिम छोर
%
^
$

कमांड v(विजुअल मोड) और पेस्ट के
yलिए कॉपी के
pलिए ऊपर दी गई किसी भी ट्रावेल कुंजी का उपयोग करके कोड का चयन करना शुरू करें

s एक चरित्र और गोटो डालने मोड को हटाने के लिए नए पाठ टाइप करने के लिए।

कोड स्तर ट्रैवर्सल्स (कोडिंग स्टाइल अनुशासन की आवश्यकता होती है)

]]
[[प्रचलित फ़ंक्शन की शुरुआत के लिए अगले फ़ंक्शन की शुरुआत के लिए

CTRL-] टैग उपलब्ध होने पर एक चर / फ़ंक्शन / मैक्रो की परिभाषा के लिए कूदने के लिए।

खोज

* => आगे की दिशा में
# खोज शब्द (या v का उपयोग करके चयनित पाठ)
n => पिछड़े दिशा में खोज शब्द (या v का उपयोग करके चयनित पाठ) => आगे की दिशा में पिछली खोज कमांड निष्पादित करें
N => पिछली दिशा में पिछली खोज कमांड निष्पादित करें।

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


आह,]] और [[मेरे लिए नए हैं। यह अच्छा है!
फ्म श्मिट


0

मैं टेक्स्टपैड का एक पूर्व उपयोगकर्ता हूं, और उस कार्यक्रम के त्वरक कुंजी में से कई को याद किया था। विम में मैंने जो पहली चीजें कीं उनमें से एक निरंतरता (F5 खोज, F8 प्रतिस्थापित, आदि) रखने के लिए मानचित्र फ़ंक्शन सीख रही थी। मैंने अपना व्यक्तिगत कलर्सकेम बनाया, और दूसरों की vimrc फ़ाइलों से उधार लिया। विवा विम! किसी भी डिग्री के लिए विन्यास।

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