linux - मैं माउस के बिना अपने xterm से टेक्स्ट कैसे कॉपी करूं?




command-line keyboard (4)

मैं किसी अन्य xterm में कमांड लाइन से, या एक अलग आदेश के भाग के रूप में चलाने के आदेश का आउटपुट का उपयोग करना चाहता हूं। उदाहरण के लिए:

> grep error error.log
error: can't find file ~/<some very long path>/thisfile

और मैं यह करना चाहता हूं:

>ls ~/<some very long path>/

मुझे यह करने के दो तरीके हैं:
1. कॉपी ~/<some very long path>/ माउस के साथ
2. head / tail / awk / sed / perl / cut / etc के कुछ संयोजन का उपयोग करें ... केवल आउटपुट से मुझे क्या जरूरत है निकालने के लिए और फिर उस बैकटीक्स के अंदर का उपयोग करें।

क्या माउस का इस्तेमाल किए बिना पाठ को कॉपी करने का कोई तरीका है? उदाहरण जो दिमाग में आता है वो वीआईएम के भीतर दृश्य मोड है, लेकिन मुझे नहीं पता कि इसे एक्सरेएम के अंदर कैसे करना है


आप जीएनयू स्क्रीन की कॉपी और पेस्ट कमानों का उपयोग कर सकते हैं

त्वरित ट्यूटोरियल:

  1. स्क्रीन को खोलें: screen (या screen myprog my args here )
  2. अपने प्रोग्राम को चलाएं, जिस उत्पाद को आप कॉपी करना चाहते हैं वह उत्पादन करें
  3. प्रति मोड दर्ज करें: ^ ए [
  4. अपने कर्सर को प्रारंभ बिंदु पर ले जाएं
  5. हिट दर्ज करें
  6. अपने कर्सर को अंतिम बिंदु पर ले जाएं
  7. हिट दर्ज करें
  8. पेस्ट: ^ ए]

स्क्रीन उस से अधिक शक्तिशाली है (मैं टैब पर कई टर्मिनल एमुलेटर के बिना कई आभासी टर्मिनलों का उपयोग करता हूं, और यह भी कि जब एक्स क्रैश या कुछ और) स्क्रीन से बाहर निकलने के लिए, बस अपने शैल सत्र को समाप्त करें, या टाइप करें ^ ए ^।


ओपी ने कहा कि वह ऐसा नहीं करना चाहते थे, लेकिन यहां पोस्टिक्स के लिए ऐसा करने के लिए एक यूनिक्स यूटील्स का रास्ता है। यदि आप इन छोटे यूनिक्स उपयोगिताओं को सीखते हैं तो वे काफी शक्तिशाली हो सकते हैं।

ls $ (डीरनाम $ (grep त्रुटि error.log | शीर्ष -1 | कट-डी "" -f 5-))

नोट: स्मृति से सिंटैक्स


आप एक्सट्रैम डिवाइस नंबर का उपयोग करके संबंधित एक्सट्रैम को सीधे आउटपुट भेज सकते हैं। यहाँ कमांड है

xyz$ls /home/ankit/documents/etc/x/y/z > /dev/pts/0 

(या जो भी डिवाइस का नाम है, आप इसे खोलने के लिए कमांड 'w' का उपयोग कर प्राप्त कर सकते हैं xterm)

इसे आज़माएं और आशा करें कि यह आपकी समस्या का समाधान कर सकता है।


आप भी tmux उपयोग कर सकते हैं जो कि screen की समान क्षमताएं screen । एक बार जब आप tmux और आपके पास वह आउटपुट होता है जिसे आप प्रतिलिपि बनाना चाहते हैं, तो आप उसे कॉपी और पेस्ट करने के लिए निम्न कार्य कर सकते हैं:

  1. Ctrl + B के साथ प्रति मोड दर्ज करें, [
  2. कर्सर को तीर कुंजी के साथ ले जाएं और फिर Ctrl + Space के साथ चयन शुरू करें
  3. प्रतिलिपि बनाने के लिए टेक्स्ट / क्षेत्र का चयन करने के लिए कर्सर को ले जाएं और फिर Alt + W के साथ प्रतिलिपि करें (यह तुरंत कॉपी मोड से बाहर निकल जाएगा)
  4. अब आप Ctrl + B का उपयोग करके (केवल tmux ) पेस्ट कर सकते हैं

इन निर्देशों का मान है कि emacs की बाइंडिंग सक्षम हैं। Vi बाइंडिंग के लिए यह तुलना देखें या बस इस चरण-दर-चरण मार्गदर्शिका का अनुसरण करें





xterm