यह सिर्फ ज्यादातर के बारे में एक मजेदार टिप्पणी है bash
और readline
है, लेकिन अगर आप अपने सेट EDITOR
करने के लिए वातावरण चर vim
, हिटिंग Ctrl+ x+ eमें वर्तमान पंक्ति खुल जाएगा vim
। इसके अलावा, यदि आप Meta(Alt/Opt/Esc)+ Ctrl+ टाइप करते हैं, तो ebash वर्तमान कमांड लाइन पर स्थान विस्तार का प्रदर्शन करेगा, अर्थात:
$ echo $EDITOR # Assuming EDITOR was set
साथ Meta(Alt/Opt/Esc)+ Ctrl+ eबन जाएगा
$ echo vim # Assuming EDITOR was set
साथ Ctrl+ x+ eबन जाएगा
1 echo vim # Assuming EDITOR was set
~
~
/tmp/sometmpbufferfile
ध्यान दें कि विम को छोड़ने पर, vim बफर की सामग्री को कमांड लाइन पर निष्पादित किया जाता है।
ये सुविधाएँ मेरे लिए तब बहुत उपयोगी हो जाती हैं जब मैं मल्टी-लाइन कमांड को बैश में करना चाहता हूं जैसे कि लूप या प्रोग्राम के लिए यहां स्टेटमेंट की आवश्यकता होती है, और बाद के उपयोग के लिए फाइल करने के लिए कमांड-लाइन हिस्ट्री को बचाने के लिए एक दिलचस्प तरीका प्रदान करता है।
तो मूल प्रश्न का उत्तर देने के लिए, आप भी लिख सकते हैं,
$ This is an example
और फिर इसे लोड करने के लिए Ctrl+ x+ मारा । इसके अलावा, आप कर सकते हैंevim
$ $(cat /etc/hosts)
और ऐसा Meta(Alt/Opt/Esc)+ Ctrl+ eतो Ctrl+ x+ e, जो एक लाइन पर मेजबान फ़ाइल रख सकते हैं और में यह लोड होगा vim
(इन सुविधाओं में से शायद नहीं सबसे अच्छा उपयोग - हालांकि, इन तरीकों की उपयोगिता पर चर्चा की कुछ उदाहरण से वाग्विस्तार किया जा सकता है यहाँ)।
ध्यान दें कि मैं मानता हूं कि आपका मोड readline
सेट emacs
है। यदि आपका मोड readline
सेट vim
है तो आप कमांड का उपयोग करके आसानी से संबंधित बाइंडिंग की खोज कर सकते हैं:
bind -p
और के लिए खोज edit-and-execute-command
या shell-expand-line
, जो क्रमशः बाइंडिंग से जुड़े हुए थे Ctrl+ x+ eऔर Meta(Alt/Opt/Esc)+ Ctrl+ e।
:help stdin
... यह आश्चर्यजनक है कि एक दस्तावेज में निर्मित प्रश्न पूछकर उत्तर कितनी तेजी से मिल सकते हैं।