व्यक्तिगत रूप से, और शायद कुछ हद तक क्योंकि मैं विम अस्तित्व से पहले यूनिक्स का उपयोग कर रहा था (हेक, यूनिक्स I का पहला संस्करण "vi" नहीं था - लेकिन यह एक और कहानी है), मैं आमतौर पर ' शेल स्क्रिप्ट '(या, अधिक संभावना है, एक पर्ल स्क्रिप्ट) परिवर्तन करने के लिए। सीएसवी डेटा को आईएनएसईआरटी में परिवर्तित करने के लिए, पूर्ण सामान्यता में उद्धरण/गैर-उद्धरण और एम्बेडेड कॉमा से निपटना गन्दा है - मैं शायद सही पार्सिंग की गारंटी के लिए टेक्स्ट :: CSV_XS के साथ एक पर्ल स्क्रिप्ट का उपयोग करना चाहता हूं। मैं उस पाठ को उस पाठ की सीमा पर चलाऊंगा जिसे बदलने की आवश्यकता है।
इसका एक लाभ केंद्रित टूल दृष्टिकोण है - एक उपकरण एक नौकरी सही करता है। मेरी निजी बिन निर्देशिका में इसमें 300 या अधिक स्क्रिप्ट और प्रोग्राम हैं; आरसीएस निर्देशिका में 500 से अधिक स्क्रिप्ट हैं।
यह कहना नहीं है कि विम में स्क्रिप्टिंग खराब है। मैं जटिल मैनिप्ल्यूशन लिखने के लिए (अधिक या कम) जटिल नक्शा कमांड का उपयोग करता हूं, अक्सर जब मुझे फ़ाइलों के सूट में एक ही बदलाव करना होता है, और जब मुझे नहीं लगता कि यह एक स्क्रिप्ट बनाने के लायक होगा काम। हालांकि, अगर मुझे लगता है कि मुझे एक से अधिक बार परिवर्तन की आवश्यकता हो सकती है, तो मैं इसे स्क्रिप्ट करूंगा। उदाहरण के लिए, जीसीसी ने ऑब्जेक्ट फाइलों में अप्रयुक्त स्थिर तारों को एम्बेड न करने के बारे में अपरिपक्वता (लगभग 2005) प्राप्त करना शुरू किया - जिसका मतलब था कि मेरी संस्करण नियंत्रण जानकारी दिखाई नहीं दे रही थी। इसलिए, वर्षों की अवधि में, जैसे ही मैं स्रोत फ़ाइलों को संपादित करता हूं, मैंने एक स्थिर (निश्चित) नाम से सार्वजनिक नाम में बदल दिया है - अनिच्छा से, लेकिन जरूरी AFAIAC। मेरे पास एक स्क्रिप्ट है जो मेरे लिए संपादित करती है, इसलिए जब मुझे किसी फ़ाइल में परिवर्तन करने की आवश्यकता होती है, तो मैं ऐसा करने के लिए उस स्क्रिप्ट को चलाता हूं। मेरे पास एक और स्क्रिप्ट है जो कॉपीराइट जानकारी अपडेट करती है; मुझे हर बार पहली बार किसी दिए गए वर्ष में एक फ़ाइल को संशोधित करने की आवश्यकता है। हाँ, मैं शायद इसे विम में कुछ के रूप में दूर कर सकता हूं - मैं सोच रहा था कि अलग लिपि बेहतर है, कम से कम नहीं क्योंकि अगर मैं किसी अन्य संपादक पर स्विच करता हूं, तो भी मैं स्क्रिप्ट का उपयोग कर सकता हूं।
स्रोत
2008-11-01 16:18:47
इसका उत्तर आपके किसी एक लिंक में दिया जा सकता है, लेकिन क्या एक बार रिकॉर्ड किए जाने पर qq मैक्रोज़ संग्रहीत किए जा सकते हैं? मैंने हमेशा उनका इस्तेमाल किया है, लेकिन मुझे नहीं पता था कि वे सत्रों में बने रह सकते हैं या नहीं। –
q कमांड के साथ बनाए गए मैक्रोज़ को एक रजिस्टर में संग्रहीत किया जाता है, qq q रजिस्टर में मैक्रो स्टोर करता है, इसलिए जब आप रिकॉर्डिंग समाप्त करते हैं तो आप "क्यूपी" को सहेजकर इसे मैक्रो पेस्ट कर सकते हैं, बाद में आप इसे आसानी से लोड कर सकते हैं मैक्रो टेक्स्ट को yanking, "qY याद है कि आप q के बजाय किसी भी रजिस्टर का उपयोग कर सकते हैं ... – CMS