आमतौर पर टर्मिनल माउस के साथ पाठ चयन की अनुमति देते हैं, लेकिन शेल को इसके बारे में जानकारी नहीं दी जाती है। तो दुर्भाग्य से न तो bash
, zsh
, fish
और न ही es
माउस आधारित संपादन का समर्थन कर सकते हैं। मुझे लगता है कि ऐसा करने के लिए, उन्हें टर्मिनल पर अधिक नियंत्रण रखने की आवश्यकता होगी।
हालांकि (और यह है अगर आप विम या जाँचने खोलें, और फिर का उपयोग कर खोल आदेशों में प्रवेश एक खंड का एक सा):
:!...
तब आप अपने माउस को लाइन में कहीं भी कूदने के लिए क्लिक कर सकते हैं । (यदि आपको :set mouse=a
पहले से सक्षम नहीं है तो आपको पहले इसकी आवश्यकता होगी ।) इस मोड में संपादन कुंजियों को देखा जा सकता है:help cmdline-editing
विम में एक शक्तिशाली कमांड इतिहास मोड भी है, जिसे मारकर पहुँचा जा सकता है q:। वहां से आप विम के नॉर्मल-मोड कमांड्स का इस्तेमाल करके याँक, डिलीट और पेस्ट कर सकते हैं। इस मोड में, आप सिलेक्ट-विथ-माउस प्राप्त कर सकते हैं और फिर अपनी इच्छित सुविधा (मार कर d) हटा सकते हैं ।
यहां एक महत्वपूर्ण चेतावनी यह है कि विम वास्तव में एक लाइव शेल सत्र चालू नहीं रखता है। आपके द्वारा निष्पादित प्रत्येक कमांड को एक चाइल्ड प्रोसेस में चलाया जाएगा। तो चाइल्ड प्रोसेस द्वारा पर्यावरण चर या शेल विकल्पों में किए गए किसी भी बदलाव को खो दिया जाएगा।
उस ने कहा, आप Vim प्रक्रिया के भीतर से पर्यावरण चर को संशोधित कर सकते हैं, और Vim की कमांड लाइन से इनका उपयोग कर सकते हैं, और उन्हें बाल प्रक्रियाओं में भी निर्यात किया जाएगा:
:let $FOO="bar" " the $ and the quotes are mandatory here
:echo $FOO " Vim's own echo command
bar
:!echo "$FOO" " Passing the variable to a shell command
bar
:!bash " Opening a child shell
$ echo "$FOO"
bar
इसलिए यदि आप यह ढोंग करने को तैयार हैं कि विम वास्तव में किसी प्रकार का अजीब खोल है, तो आप इसकी उन्नत संपादन सुविधाओं का आनंद ले सकते हैं! संभवतः सबसे बड़ी कमी यह है कि आपको हर कमांड को :!
या तो लिखकर शुरू करना होगाq:
ओह और वैसे, यदि आप शेल कमांड के आउटपुट को अपने वर्तमान विम बफर में प्राप्त करना चाहते हैं, तो आप ऐसा कर सकते हैं (लेकिन सावधान रहें यह आपकी वर्तमान लाइन को बंद कर देगा):
:,!ls