कीबोर्ड के साथ Pasting X चयन (क्लिपबोर्ड सामग्री नहीं)


83

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

मैं इकट्ठा करता हूं कि एक मध्य माउस बटन प्रेस करना काफी आसान है, लेकिन इस तरह के समाधान से माउस पॉइंटर को टेक्स्ट कैरेट के स्थान पर ले जाने की भी आवश्यकता होगी।

क्या ऐसा करने के लिए इससे अच्छा तरीका है?


2
उबंटू के लिए समान संभव है: askubuntu.com/questions/7769/…
Ciro Santilli 新疆:::

जवाबों:


93

कुछ डिफॉल्ट लाइनक्स सेटअप पर, Shift+ Insertएक प्रदर्शन करेगा X-selection-paste। जैसा कि आपने उल्लेख किया है, यह X-clipboard-pasteकमांड से विशिष्ट रूप से भिन्न है , जिसके लिए बाध्यकारी अक्सर एप्लिकेशन द्वारा भिन्न होता है। अगर वह यहाँ काम नहीं करता है, तो कुछ अन्य कुंजियाँ आज़माने के लिए हैं:

  • Ctrl+V

  • Ctrl+ Shift+V

  • Ctrl+ Shift+Insert

नही जाओ? आपके डेस्कटॉप पर्यावरण या विंडो प्रबंधक ने शायद उन्हें कॉन्फ़िगर नहीं किया है, और यह जटिल है क्योंकि - एक DE या WM- प्रत्येक टूलकिट (जैसे GTK, Qt, आदि) के बैनर के तहत अलग-अलग डिफ़ॉल्ट बाइंडिंग हो सकते हैं। कुछ कार्यक्रमों (जैसे gvim) की अपनी आंतरिक प्रतिलिपि रजिस्टर भी हैं जो जरूरी नहीं कि वे जिस ग्राफिकल वातावरण में चलते हैं, उसके लिए समन्वयित हों। इसे बंद करने के लिए, यहां तक ​​कि जब कोई प्रोग्राम एक्स-क्लिपबोर्ड सिस्टम का उपयोग करता है, तो एक्स में चुनने के लिए कई सिस्टम होते हैं। दो सबसे बुनियादी हैं चयन बफर -जब भी हमेशा जो कुछ भी अंतिम चीज का चयन किया गया है (निष्पादित जब यह नहीं होता है) - और कॉपी बफर - जो चीजें आमतौर पर विशेष रूप से कॉपी करने की आवश्यकता होती है। बाद की प्रणाली में एक स्पष्ट प्रतिलिपि बनाने के लिए आप इनमें से किसी को भी आकार के लिए आज़मा सकते हैं:

  • Ctrl+C

  • Shift+ Ctrl+C

  • Ctrl+Insert


यदि इनमें से कोई भी आपके लिए केवल जादुई रूप से काम नहीं कर रहा है, तो दो तरीके हैं जिनसे आप जा सकते हैं।

  1. उसके लिए एक ऐप है! ™ आपके लिए इसे संभालने के लिए विभिन्न क्लिपबोर्ड प्रबंधक कार्यक्रमों में से एक का उपयोग करें। सबसे लोकप्रिय Parcelic और Glippy प्रतीत होते हैं , लेकिन आप यहां अन्य विकल्पों की जांच कर सकते हैंउन्नत क्लिपबोर्ड प्रबंधकों के बारे में यह प्रश्न भी देखें

  2. इसे खुद हैक करें।

तो चलिए आपको इसे हैक करना चाहते हैं।

अपना खुद का कोड लिखने और एक्स एपी में टैप करने से कम, नौकरी के लिए हैकर टूल्स थोड़े कमांड लाइन उपयोगिताओं के एक जोड़े हैं जो आपको एक्स के दिमाग में एक खिड़की देते हैं। बस एक छोटी सी खिड़की आपको पसंद करती है, पूरा दृश्य भी डरावना है ।

पहला उपकरण है xsel। यह छोटा जॉबर किसी भी समय एक्स के चयन बफर में जो कुछ भी है उसे बाहर थूक देगा।

अब आपको इसे अपने कार्यक्रम में लाने की आवश्यकता है। इसके लिए दो विकल्प हैं। एक वह है xdotoolजो आपको Xorg इनपुट सिस्टम पर ईवेंट भेजने की नकल करने की अनुमति देता है। आप इसे का उपयोग कर सकते हैं प्रकार की तरह विधि xdotool type foo_barकर्सर पर नकल टाइपिंग 'foo_bar' के लिए। संयुक्त, आपको ऐसा कुछ मिलता है:

$ xdotool type $(xsel)

दूसरा वह है xvkbdजो निचले सबसिस्टम से कीबोर्ड ईवेंट भेजता है। आप STDIN पर इसमें कीस्ट्रोक्स को पाइप कर सकते हैं। के साथ संयुक्त xsel, आप इस तरह से कुछ मिलता है:

$ xsel | xvkbd -xsendevent -file -

महान। अब इस सामान को चलाने के लिए कीबाइंडिंग के लिए। यदि आप Gnome-2 चलाते हैं, तो आप सिस्टम -> वरीयताएँ -> कीबोर्ड शॉर्टकट में एक कस्टम शॉर्टकट जोड़ सकते हैं । यदि आप किसी भिन्न DE या WM का उपयोग करते हैं, तो यह अंश रीडर तक छोड़ दिया जाता है।

आखिरी नोट यह है कि जब कीबोर्ड शॉर्टकट्स के लिए बाइंडिंग कमांड्स की आवश्यकता होती है, तो इसमें केवल एक कमांड होना आवश्यक है, न कि एक पाइप से जुड़े दो कमांड जैसे कि यह ऊपर उपयोग करता है। आप अपने पाइप किए गए कमांड को कमांड स्ट्रिंग argumetn के रूप में इस तरह से एक नए शेल में शामिल करके इसे पूरा कर सकते हैं:

sh -c 'xsel | xvkbd -xsendevent -file -'
sh -c 'xdotool type "$(xsel)"'

1
निश्चित रूप से "बेहतर" के रूप में योग्य है। धन्यवाद!
intuited

किस एप्लीकेशन में? मेरे द्वारा उपयोग किए जाने वाले अनुप्रयोगों में से कोई भी अक्सर ऐसा व्यवहार नहीं करता है।
गाइल्स

मैं उबंटू का उपयोग कर रहा हूं, और मैं वास्तव Shift-Insertमें किसी भी व्यावहारिक उपयोग का होना चाहूंगा , लेकिन यह केवल (उबंटू में) नहीं है। केवल "संगति (+/-)" मैंने पाया है कि एक एक्स- GTK ऐप्स में चयन Shift-Inserted किया जा सकता है gnome-terminal, लेकिन यह इन्हीं ऐप्स के किसी अन्य क्रॉस-पेस्टिंग संयोजन के लिए काफी हिट-एंड-मिस है ... कुछ KDE ऐप्स जो मैं उपयोग करता हूं (कॉनसोल सहित), बस नहीं सभी पर क्रॉस-पेस्ट .... और यहां तक ​​कि GTK ऐप्स में भी, केंद्र-क्लिक काम कर सकता है, लेकिन Shift + Insert हो सकता है (एक ही ऐप के लिए) नहीं ... इसलिए मैं माउस का उपयोग करता हूं :(
पीटर।

"एक्स लेवल बाइंडिंग" जैसी कोई चीज नहीं है। यह आपके द्वारा उपयोग किए जाने वाले एप्लिकेशन, या आपके विंडो प्रबंधक या डेस्कटॉप वातावरण में कुछ ऐसा हो सकता है। मुझे संदेह है कि यह एक वितरण के लिए विशिष्ट होगा।
जिल्स

1
मुझे लगता है कि एक आसान तरीका यह है कि कीबोर्ड शॉर्टकट को मध्य क्लिक घटना भेजने के लिए बाध्य किया जाए। मेरे लिए, वह है xdotool click 2
इंडक्टिवेलोड

10

जाहिरा तौर पर Shift+ Insertजीटीके 3 की कुछ स्थापनाओं पर ठीक से काम नहीं कर सकता है, कम से कम फ्रीबीएसडी पर। समस्या के रूप में वर्णित है:

शिफ्ट-इंसर्ट प्राथमिक चयन को चिपकाने नहीं है। इसके बजाय, यह क्लिपबोर्ड पेस्ट करने के लिए बाध्य है (जिसके लिए कंट्रोल-वी पहले से ही उपयोग किया जाता है)। इसलिए, प्राथमिक चयन सम्मिलित करने के लिए कोई कुंजीपटल-केवल तरीका नहीं है। माउस को वहां और मध्य क्लिक पर खींचना होगा। यह टर्मिनलों और GTK के बीच संपर्क को असहज बनाता है।

हाल ही में (इस लेखन के रूप में) बग रिपोर्ट और पैच उपलब्ध हैं:

http://www.freebsd.org/cgi/query-pr.cgi?pr=188264


8
xdotool click 2

यह सीधे माउस बटन पर क्लिक करता है, और उपयोग करने की आवश्यकता नहीं है xsel/ xdotool type ...


1
इसके लिए माउस को ठीक से रखने की आवश्यकता होती है, इसलिए आप वास्तव में माउस बटन का उपयोग कर सकते हैं। अगर किसी तरह से माउस को कर्सर पर ले
जाया गया

2

मैं Ubuntu 12 का उपयोग कर रहा हूं और gedit (और किसी भी अन्य ऐप) में xterm से पाठ चिपकाने में समस्या हो रही थी। इसके अलावा, मैं कई लोगों की तरह बिना मध्य माउस बटन के साथ एक लैपटॉप का उपयोग करता हूं (मध्य बटन के बिना लिनक्स उपयोगकर्ताओं के लिए वास्तव में कोई क्लिपबोर्ड दया नहीं है, और नहीं: राइट-क्लिक + लेफ्ट_क्लिक विकल्प के रूप में काम नहीं कर रहा है)।

जबकि मुझे लगता है कि "xsel | xvkbd -xsendevent -file -" विधि बहुत अच्छी है। मैंने पाया कि सबसे सरल समाधान "xterminal" के बजाय प्रीइंस्टॉल्ड "गनोम-टर्मिनल" चलाना था। "गनोम-टर्मिनल" क्लिप-बोर्ड कमांड पर एक राइट-क्लिक कॉपी का समर्थन करता है। मैं तब "संपादित करें मेनू>> पेस्ट" को gedit में कर सकता हूं या शिफ्ट-इन्सर्ट का उपयोग कर सकता हूं। "ग्नोम-टर्मिनल" उबंटू 12 के साथ पूर्वस्थापित किया गया था। अन्य डेबियन / सूक्ति प्रतिष्ठानों को इसके माध्यम से स्थापित करने में सक्षम होना चाहिए:

sudo apt-get install gnome-terminal

उबंटू में, लॉन्चर बार के शीर्ष पर "डैश होम" बटन पर क्लिक करके इसे बाएं लॉन्चर में जोड़ें। परिणामी खोज बॉक्स में, टर्मिनल टाइप करें। आप लॉन्चर बार में "टर्मिनल" आइकन को खींच सकते हैं।


2
यह बहुत ही घटिया उपाय है। आप वास्तव में लोगों को एक अलग टर्मिनल पर स्विच करने का सुझाव नहीं दे सकते हैं, विशेष रूप से एक जो एक निर्भरता के रूप में 100 एमबी + ग्नोम-शेल में खींचेगा। यह भी किसी अन्य अनुप्रयोग के साथ काम नहीं करता है, और इस सब के लिए अभी भी काम करने के लिए माउस के उपयोग की आवश्यकता है।
पीफ्रेंससेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.