माउस का उपयोग किए बिना टर्मिनल में पाठ का चयन करना


68

मैं टर्मिनल में कमांड चलाने के लिए एंटर प्रेस करने वाला हूं, लेकिन ऐसा करने से पहले, मैं माउस का उपयोग किए बिना कमांड को क्लिपबोर्ड पर कॉपी करना चाहता हूं।

कैसे?

यदि आप टर्मिनल के अलावा कहीं और हैं, तो Ctrl+ Homeयह करता है।

क्या टर्मिनल में मनमाने ढंग से पाठ का चयन करने का कोई तरीका है?

संपादित:

  • यह मान लेना कि अन्य कार्यक्रमों का उपयोग करना screenएक अच्छा विकल्प नहीं है
  • पाठ को टर्मिनल के बाहर चिपकाया जाना है, इसलिए Ctrl+ yऔर इसी तरह के क्रम इसे हल नहीं करते हैं

1
आपका मतलब है Ctrl-Shift-Home?
मैकेनिकल घोंघा

पंक्ति की शुरुआत में शिफ्ट-होम प्रतियां। पृष्ठ की शुरुआत में Ctrl-Shift-Home प्रतियां।
स्ट्रैपकोव्स्की

Shift-Home और Ctrl-Shift-Home मेरे लिए भी ऐसा ही करते हैं (टर्मिनल की भीख मांगने के लिए) और दोनों में से कुछ भी कॉपी करने के लिए न तो लगता है, न ही Ctrl-Y या Ctrl-Shift-V (न ही सिलेक्ट)। लेकिन यह टेक्स्ट एडिटर में काम करता है, कॉपी करने में नहीं, सिर्फ सेलेक्ट करने में। वर्चुअल बॉक्स में OpenSUSE लीप 15 का उपयोग करना। उत्तर में वर्णित हर दूसरा की-बाइंडिंग काम करता है।
ब्रंबोर

जवाबों:


16

शॉर्टकट के बाद बाँधें:

bind '"\C-p": "\C-e\C-u xsel <<"EOF"\n\C-y\nEOF\n\C-y"'

अब Crtl+ का उपयोग करने के बाद Pआपकी लाइन क्लिपबोर्ड में कॉपी हो जाएगी। आप इसे टर्मिनल में पेस्ट कर सकते हैं:

xsel

और मध्य माउस बटन या Shift+ का उपयोग करके किसी भी एक्स एप्लिकेशन में Insert


मैं माउस का उपयोग करने से बचना चाहता हूं। क्या मध्य माउस बटन के बजाय इसे ctrl + shift + v से चिपकाना संभव है?
मृगू

@MrGigu, यह एक अलग क्लिपबोर्ड का उपयोग करता है ( यहाँ देखें )। आपको अन्य शॉर्टकट का उपयोग करने की आवश्यकता है। डिफ़ॉल्ट रूप से यह शिफ्ट + इंसर्ट ( यहां देखें ) होना चाहिए
Nyakakin

ओह धन्यवाद, शिफ्ट + डालने का काम करेगा! नहीं पता था कि आप इस कमांड के साथ पेस्ट कर सकते हैं।
मृगगू

वास्तव में यहाँ क्या हो रहा है के रूप में कोई स्पष्टीकरण?
अलेक्जेंडर

या xsel -bमानक क्लिपबोर्ड का उपयोग करने के लिए उपयोग करें, अर्थात जो Ctrl + V / Ctrl + Shift + V का उपयोग करता है। यह भी ध्यान देने योग्य है कि यह विधि मल्टी-लाइन कमांड पर विफल रहती है।
wjandrea

27

यदि आप उन शेल में से एक का उपयोग कर रहे हैं जो इमैक कीज़ (बैश, सीएचएस, इत्यादि) को समझता है तो आप वर्तमान कमांड को निम्न द्वारा कॉपी कर सकते हैं:

  1. control-A आपको लाइन की शुरुआत में ले जाएगा।

  2. control-K पूरी लाइन को मार देगा जो आपने अभी दर्ज किया है।

  3. control-Y पाठ वापस कर देगा।

फिर बाद में आप control-Yशेल कमांड लाइन एडिटर के इनपुट के रूप में टेक्स्ट को वापस डालने के लिए टेक्स्ट को वापस ला सकते हैं।

देखें man bashऔर फिर जब यह ऊपर आता है, तो READLINE अनुभाग में आपको आगे बढ़ने के लिए 's (अगली)' के /emacsबाद टाइप करें n


मुझे पता था कि टर्मिनल के बाहर पेस्ट करना चाहते हैं। स्पष्टीकरण के लिए संपादित किया गया।
स्ट्रैपकोव्स्की

3
control-Uसीधे इसके अंत से कमांड काट सकते हैं
vstepaniuk

1
2nd कमांड ने मेरी जिंदगी बदल दी।
कृष्ण

10

निकटतम मैं सोच सकता हूं कि Ctrl+ u, Ctrl+ y
यह कर्सर से लाइन की शुरुआत तक हट जाएगा, फिर रीडलाइन बफर से पेस्ट करें। यह बिल्कुल क्लिपबोर्ड के समान नहीं है, लेकिन आप शेल के अंदर पेस्ट करने में सक्षम होंगे, यदि आपको इसकी आवश्यकता है।


मुझे पता था कि टर्मिनल के बाहर पेस्ट करना चाहते हैं। स्पष्टीकरण के लिए संपादित किया गया।
स्ट्रापकोव्स्की

8

स्क्रीन नामक एक कार्यक्रम है। यह एक पाठ विंडोिंग सिस्टम बनाता है जो आपको कई उदाहरणों के बीच स्विच करने की अनुमति देता है। लेकिन यह आपको पाठ का चयन करने की अनुमति भी देता है।

sudo apt-get install screen

वह आदेश इसे स्थापित करता है।

फिर टाइप करें screen

आप कमांड अनुक्रम शुरू करने के लिए ctr-a का उपयोग करते हैं। फिर esc दबाएं और आपका कर्सर किसी भी दिशा में बढ़ जाएगा। टेक्स्ट चयन शुरू करने के लिए एन्टर प्रेस करें, एंड पॉइंट पर जाएँ, फिर से एंटर दबाएँ। वह बफर की नकल करेगा।

फिर ctr-a और फिर} पेस्ट करेंगे

अन्य आदेशों के बारे में अधिक जानकारी यहाँ http://www.kuro5hin.org/story/2004/3/9/16838/14935


अच्छा सुझाव है, लेकिन मुझे screenअलग-अलग कारणों से पसंद नहीं है, इसलिए नियमित उबंटू टर्मिनल मानें। स्पष्टीकरण के लिए मेरे प्रश्न का संपादन किया।
स्ट्रापकोव्स्की

1
इसे सही उत्तर IMHO के रूप में चिह्नित किया जाना चाहिए।
eddiewould

2

आप के अंदर कर रहे हैं vim आप नेत्रहीन के साथ एक या अधिक पंक्तियों का चयन कर सकते Shift+ vऔर फिर एक बाध्यकारी, जैसे का उपयोग yyकरने के लिए चयन, पाइप को xclip

अपने vimrc में बंधन जोड़ें:

vnoremap yy :w !xclip -selection clipboard<CR><CR>

इसके लिए एक्लिप्स स्थापित करने की आवश्यकता है, यह डेबियन / उबंटू एप्टीट्यूड रिपॉजिटरी में है।

xclipस्टड स्टोर करता है, -selection clipboardविकल्प के साथ यह स्टडिन को सिस्टम क्लिपबोर्ड पर भी धकेलता है।

तो आप xclipटर्मिनल से एक सामान्य तरीके से भी उपयोग कर सकते हैं , उदाहरण के लिए सिस्टम क्लिपबोर्ड में एक पूरी फाइल कॉपी करने के लिए:

cat myfile | xclip -selection clipboard

यदि आप वैकल्पिक रूप से एक उपनाम भी बना सकते हैं, जैसे:

alias cb="xclip -selection clipboard" 

1

डैनियल मीके के दीमक खेल को "चयन मोड" कहते हैं। Ctrl + Shift + Space दबाने से यह सक्रिय हो जाएगा। यह विम-बाइंडिंग प्रमुख बाइंडिंग है। v या V a la vim के विज़ुअल मोड का चयन करेगा, y yank होगा, Esc चयन मोड से बाहर निकल जाएगा।

Https://stackoverflow.com/questions/1536757/selecting-text-in-terminal-without-use-the-mouse/29386401 से कॉपी किया गया

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