विम के भीतर से यूनिक्स कमांड कैसे चलाएं?


जवाबों:


102

कमांड मोड पर जाएं Esc, फिर रन करें :!unix_command:एक धमाके के साथ शुरू होने वाले प्रॉम्प्ट से कुछ भी !एक यूनिक्स शेल कमांड के रूप में चलाया जाएगा। आपको आउटपुट दिखाया जाएगा और अपने काम पर वापस जाने के लिए एक कुंजी को हिट करने की अनुमति दी जाएगी।

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


14
इसके अलावा, चयनित किसी भी पाठ के !! बिना आप एक कमांड चला सकते हैं और फिर अपने वर्तमान कर्सर स्थिति पर परिणाम डाल सकते हैं - यदि आप की जरूरत नहीं है / चाहते हैं तो STDIN को सामान भेजने और इसे बदलने की आवश्यकता नहीं है।
Kromey

4
इसके अलावा, यदि आप केवल अपने दस्तावेज़ में एक कमांड का आउटपुट डालना चाहते हैं, तो बस करें :r!unix_command। यह कमांड के लिए उपयोगी है जैसेdate
यब

2
आप अपने vi बफर की कई लाइनों को शेल (या किसी भी दुभाषिया) द्वारा निष्पादित कर सकते हैं और उन्हें निष्पादन के परिणाम से बदल दिया है। उदाहरण के लिए: :10,20!shया, चिह्नित लाइनों के रूप में,'a,'b!sh
jlliagre

1
कुछ और जो मुझे लगता है कि ध्यान देने योग्य है कि यह आपके द्वारा उपयोग किए जा रहे ओएस पर निर्भर करता है। यदि आप विंडोज का उपयोग कर रहे हैं, तो यह विंडोज शेल कमांड को निष्पादित करेगा। इसे पढ़ने वाले कई लोग पहले से ही जानते होंगे, लेकिन Google से आने वाले लोगों के लिए, मुझे लगा कि यह ध्यान देने योग्य होगा।
एंड्रयू

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