मैंने express.vim नामक एक प्लगइन लिखा है जो इस के साथ मदद कर सकता है। प्लगइन एक ऑपरेटर को परिभाषित करता g=है जो आपको मोशन (या विजुअल सिलेक्शन) पर एक विम्स्क्रिप्ट अभिव्यक्ति का मूल्यांकन करने देता है। यह एक अभिव्यक्ति के लिए संकेत देता है, जिसमें आप v:valगति द्वारा कवर किए गए पाठ के लिए प्लेसहोल्डर के रूप में उपयोग कर सकते हैं (या, फिर से, दृश्य चयन)।
इस मामले में, एक उपयोगी अभिव्यक्ति system()फ़ंक्शन का उपयोग करेगी , जो एक बाहरी कमांड चलाता है।
system('tr a-z A-Z', v:val)
(यहां मैं trएक साधारण उदाहरण बाहरी कमांड के रूप में उपयोग किया जाता है।)
इस समस्या के लिए एक्सप्रेस .vim का उपयोग करने का तरीका दृश्य मोड के साथ पाठ का चयन करना होगा, फिर g=उस अभिव्यक्ति के बाद टाइप करें , फिर हिट करें Enter:
g=system('tr a-z A-Z', v:val)<CR>
मैं मानता हूँ, इसका उपयोग करना आसान नहीं है। (वास्तव में, मैं शायद ही कभी इस प्लगइन का उपयोग करता हूं!) मैं एक बाहरी कमांड को लागू करने के लिए शॉर्टकट जोड़ने पर विचार कर रहा हूं, जैसे कि अभिव्यक्ति शुरू करना !। अगर मैं ऐसा कर रहा हूं तो मैं यहां एक अपडेट पोस्ट करूंगा।
संपादित करें
मैंने एक्सप्रेस .vim को !एक्सटर्नल कमांड के साथ शुरू होने वाले एक्सप्रेशन के लिए संशोधित किया है । तो, trउदाहरण के साथ चिपके हुए , ऊपर एक बहुत सरल हो जाता है। दृश्य चयन के बाद, निम्न टाइप करें:
g=!tr a-z A-Z<CR>
स्पष्टीकरण:
- एक्सप्रेस ऑपरेटर से संपर्क करें
g=
!tr a-z A-Zअभिव्यक्ति के रूप में दर्ज करें
- दबाएँ
Enter
sortकमांड है।