सवाल बैश (लिनक्स खोल) में Ctrl + V क्यों पेस्ट नहीं करता है?


जब मैं क्लिपबोर्ड पर कुछ कॉपी करता हूं और दबाता हूं Ctrl + वी बैश में, कुछ नहीं होता; हालांकि, दायाँ क्लिक करके और चयन करें चिपकाएं नौकरी करता है

क्यूं कर? लिनक्स में इस व्यवहार के पीछे कोई उचित मुद्दा है (मुझे यकीन है कि) है?


174
2018-05-07 07:44


मूल


Shift-Insert भी काम करता है - bonyiii
मैं पसंद करता हूं Ctrl-Shift-Vव्यक्तिगत रूप से। - amalloy
आप भी उपयोग कर सकते हैं Shift + सम्मिलित करें अधिकांश शैल वातावरण में। - Fabian
क्या होगा यदि आपके पास एक सम्मिलित कुंजी नहीं होगी? - TR3B
यह विंडोज़ कमांड प्रॉम्प्ट में भी काम नहीं करता है - phuclv


जवाब:


भौतिक दिनों के दिनों में टर्मिनलों, सत्र-व्यापी क्लिपबोर्ड मौजूद नहीं थे, केवल कुछ प्रोग्रामों ने आंतरिक प्रतिलिपि / पेस्ट का समर्थन किया - अक्सर "बफर" या "हत्या के छल्ले" के नाम पर - और विभिन्न अलग-अलग कीस्ट्रोक का उपयोग किया जाता था। उदाहरण के लिए, दे घुमा के खोल उपयोग करता है Ctrlकश्मीर या Ctrlयू "मारना" (कट) करने के लिए, CtrlY "यंक" (पेस्ट) के लिए; यह आता है Emacs संपादक

Ctrlसी यूनिक्स में लगभग हर जगह था "बाधित" कुंजी, वर्तमान कार्यक्रम या संचालन को रद्द करने के लिए प्रयोग किया जाता है। Ctrlवी कुंजी का अर्थ अक्सर "क्रियात्मक सम्मिलन" होता है - यानी, किसी भी संबंधित क्रिया के बिना सचमुच निम्नलिखित वर्ण डालें। उदाहरण के लिए, एक सामान्य Esc में कमांड मोड में स्विच करता है vi संपादक, लेकिन Ctrlवी, Esc डालेंगे ESC दस्तावेज़ में चरित्र।

का उपयोग Ctrlसी कॉपी करने के लिए और Ctrlवी सत्र-व्यापी क्लिपबोर्ड से पेस्ट करने के लिए 1 9 83 में मैक ओएस और माइक्रोसॉफ्ट विंडोज 3.x में 1 99 0 में पेश किया गया था। (पहले विंडोज संस्करण (1.x और 2.x), साथ ही साथ आईबीएम ओएस / 2, केवल समर्थित था आईबीएम सीयूए चांबियाँ Ctrlइन्स कॉपी करने के लिए और खिसक जानाइन्स चिपकाना; ये शॉर्टकट सभी विंडोज संस्करणों द्वारा समर्थित रहते हैं।)

जब क्लिपबोर्ड समर्थन के साथ जीयूआई अंततः यूनिक्स पहुंचे, तो Ctrl कई टर्मिनल कार्यक्रमों द्वारा कीप्रेस पहले से ही उपयोग में थे। इसके अलावा, एक्स ग्राफिकल इंटरफ़ेस कुछ हद तक था विभिन्न तंत्र: "चयन" और "कट बफर"। अब भी आप एक प्रोग्राम में टेक्स्ट का चयन कर सकते हैं और किसी भी स्पष्ट प्रतिलिपि कार्रवाई के बिना, मध्य माउस बटन का उपयोग कर इसे सम्मिलित कर सकते हैं।

संक्षेप में, जब तक Xterm और GNOME टर्मिनल लिखा गया था (मुझे लगता है कि आप बाद वाले का उपयोग कर रहे हैं) Ctrlवी  पहले से ही था कई सालों के लिए एक पूरी तरह से अलग अर्थ और बदला नहीं जा सका। इसके अलावा, पाठ की प्रतिलिपि बनाने का एक वैकल्पिक तरीका - "चयन" - एक्स 11 में पहले से मौजूद था, इसलिए स्पष्ट प्रतिलिपि / पेस्ट एक्शन को विंडोज़ में जितना महत्वपूर्ण होगा उतना महत्वपूर्ण नहीं माना जाता था। इसका मतलब है कि अलग-अलग कीबोर्ड शॉर्टकट का चयन करना था - उदाहरण के लिए, अधिकांश आधुनिक टर्मिनल प्रोग्राम, जैसे कि गनोम टर्मिनल, का उपयोग करें Ctrlखिसक जानासी तथा Ctrlखिसक जानावी। (यदि आप Xterm का उपयोग करते हैं, तो उसी शॉर्टकट को मैन्युअल रूप से उपयोग करके जोड़ा जा सकता है XTerm * vt100 * अनुवाद Xresource। आरएक्सवीटी में ऐसा कोई विकल्प नहीं है।)

(अधिकांश एक्स 11 टूलकिट सीयूए "कॉपी" और "पेस्ट" कुंजी का भी समर्थन करते हैं, जो टर्मिनल प्रोग्राम्स के साथ संघर्ष नहीं करते हैं। दुर्भाग्य से, कार्यान्वयन बल्कि असंगत हैं - Ctrlइन्स अधिकांश कार्यक्रमों में "क्लिपबोर्ड" की प्रतियां (जीटीके, क्यूटी 4, लेकिन एक्स द्वारा अनदेखा); हालाँकि, खिसक जानाइन्सअधिकांश जीटीके और क्यूटी 4 कार्यक्रमों में "प्राथमिक चयन" से चिपक जाता है, लेकिन फ़ायरफ़ॉक्स में "क्लिपबोर्ड" से और अब अप्रचलित एक्सए में अब-अप्रचलित कट-बफर से।)


जो कुछ भी कहा, कुछ टर्मिनल या कंसोल (विशेष रूप से, विंडोज 10 कंसोल) करना इन चाबियों का समर्थन करें। चूंकि विंडोज कंसोल में हमेशा एक अलग "चिह्न / चयन" मोड था, Ctrlसी अब संदर्भ के आधार पर दो अर्थ भी हैं - नियमित मोड में यह एक बाधा भेजता है, चुनिंदा मोड में यह क्लिपबोर्ड पर प्रतिलिपि बनाता है (जैसे दर्ज अभ्यस्त)।

इस बीच, विंडोज कमांड लाइन उपकरण वास्तव में कभी नहीं उपयोग किया गया  Ctrlवी कुछ भी के लिए, तो यह कुछ भी परेशान किए बिना "पेस्ट" करने के लिए बाध्य था। यूनिक्स जैसी टर्मिनल पर ऐसा करना हालांकि अधिक समस्याग्रस्त होगा।


341
2018-05-07 08:03



हम्म। विम में, "यांक" का मतलब पेस्ट के बजाय कॉपी करें। ऐसा लगता है कि यह भी अधिक समझ में आता है। क्या आप इस शब्द के अर्थ के बारे में निश्चित हैं? - Konrad Rudolph
हाँ मुझे यकीन है। बैश से डिफ़ॉल्ट शॉर्टकट प्राप्त होता है उनके Emacs समकक्ष। - grawity
@ ग्रोटी: आपकी आखिरी टिप्पणी एक किशोर छोटी गुमराह है। बैश कमांड लाइन संपादन, विम-मोड और एमएक्स-मोड के दो मोड प्रदान करता है। यह बस होता है कि अधिकांश इंस्टॉल पर emacs-mode डिफ़ॉल्ट है। इससे शब्द के उपयोग में अस्पष्टता बढ़ जाती है झटका, यहां तक ​​कि बाश के लिए भी। - rahmu
ए-हा! मैं जानता था जब वे स्विच करते थे तो विपरेटर डेवलपर्स ने गलती की <C-v> सेवा मेरे i संस्करण 3 में, लेकिन मैं अपनी अंगुली को काफी नहीं डाल सका क्यूं कर। - Izkata
@ कोलिन: आप अभी भी क्लिपबोर्ड और एक्स चयन के बीच भेद चूक गए हैं। कई चयन (प्राथमिक, माध्यमिक, क्लिपबोर्ड) हैं, लेकिन उनमें से केवल एक को आमतौर पर "क्लिपबोर्ड" कहा जाता है - CLIPBOARD चयन, क्योंकि वह जगह है जहां Ctrl-C प्रतियां होती हैं, और यही वह जगह है जहां से Ctrl-V चिपक जाती है। प्राथमिक चयन क्लिपबोर्ड नहीं है। - grawity


उपयोग Ctrlखिसक जानावी पेस्ट करने के लिए।

Ctrl अन्य कार्यों के साथ आम तौर पर विशेष कार्यों के लिए खोल द्वारा उपयोग किया जाता है।


42
2018-05-07 07:45



तो लिनक्स क्यों विशेष कार्यों के लिए CTRL + SHIFT पंजीकृत नहीं करता है; मुझे लगता है कि कुछ विशेष उपयोगकर्ताओं की तुलना में कॉपी-पेस्ट कुछ उपयोगकर्ताओं द्वारा अधिक विशिष्ट है, है ना? - Yasser Zamani
कट और पेस्ट कार्यक्षमता वाले ग्राफिकल टर्मिनल और जीयूआई होने से पहले शैल मौजूद हैं, इसलिए आपका तर्क वास्तव में मान्य नहीं है। @YasserZamani - slhck
Ctrl + Shift + V टर्मिनल एमुलेटर द्वारा निष्पादित किया जाता है (माना जाता है कि आप GNOME टर्मिनल का उपयोग कर रहे हैं) और नहीं bashअपने आप। यदि आप कभी भी जीयूआई पर्यावरण के बाहर हैं, या यदि आप एक और टर्म एमुलेटर का उपयोग कर रहे हैं, तो यह शायद काम नहीं करेगा। ऐसा मत सोचो कि यह आदेश पोर्टेबल है। - rahmu
@rahmu ओह, इसके बारे में कोई जानकारी नहीं थी। केवल उबंटू इंस्टॉल का उपयोग करें। क्या कोई सार्वभौमिक आदेश है? - Akash
शायद क्लिपबोर्ड तक पहुंचने के लिए कोई नहीं है (प्राथमिक चयन के लिए केवल Shift + Ins)। यहां तक ​​कि क्लिपबोर्ड स्वयं एक एक्स 11 चीज है, जो टीटीई से उपलब्ध नहीं है। हालांकि, Ctrl + Shift + V को गनोम टर्मिनल, एक्सएफसी 4 टर्मिनल, केडीई कंसोल द्वारा समर्थित किया गया है; इसमें सबसे लोकप्रिय जीयूआई वातावरण शामिल हैं। - grawity


लोकप्रिय टर्मिनलों के साथ आपकी सामान्य उद्देश्य कॉपी पेस्ट सेटिंग्स यहां दी गई हैं:

gnome टर्मिनल (लिनक्स पर सबसे लोकप्रिय)
प्रतिलिपि: Ctrlखिसक जानासी
चिपकाएं: Ctrlखिसक जानावी
ध्यान दें: चयन करने के लिए प्रतिलिपि बनाएँ और मध्यम क्लिक पेस्ट करने के लिए भी काम करता है, लेकिन यह एक वैकल्पिक क्लिपबोर्ड का उपयोग करता है।

पुटी (विंडोज़ में सबसे लोकप्रिय टर्मिनल)
प्रतिलिपि: (माउस के साथ चयन करें, कोई कीबोर्ड इंटरैक्शन नहीं)
चिपकाएं: दाएँ क्लिक करें  (या अधिक भरोसेमंद: खिसक जानादाएँ क्लिक करें)
ध्यान दें: एप्स जो माउस इनपुट लेते हैं (जैसे vim तथा links) चोरी कर सकते हैं दाएँ क्लिक करें - खिसक जानादाएँ क्लिक करें हमेशा किसी भी ऐप में काम करेगा।

ओएसएक्स टर्मिनल
प्रतिलिपि: सेबसी
चिपकाएं: सेबवी
ध्यान दें: ऐप्स जो माउस नियंत्रण लेते हैं (जैसे vim तथा links) टेक्स्ट का चयन करने के लिए इसका क्या अर्थ है ओवरराइड कर सकता है, जिस स्थिति में कॉपी उस तरीके से काम नहीं करेगी जिसकी आप अपेक्षा करते हैं। उन मामलों में, पकड़ो नियंत्रण जबकि आप माउस को चुनने के लिए खींचें। ऐप्स के साथ माउस इंटरैक्शन डिफ़ॉल्ट रूप से आपकी टर्मिनल सेटिंग्स में अक्षम होता है, इसलिए अधिकांश लोगों को इसके बारे में भी पता नहीं चलेगा।


17
2018-05-07 21:22



नहीं है cmd.exe विंडोज पर पुटी से ज्यादा लोकप्रिय? :-) - Ben
@ एसएनएच टर्मिनल के रूप में नहीं। - tylerl
नहीं, cmd.exe एक एसएसएच टर्मिनल नहीं है। यह बिल्कुल सच है। - Ben
@ बेन: यह टर्मिनल नहीं है - केवल एक खोल है। विंडोज़ में डिफ़ॉल्ट टर्मिनल सीएसआरएस का "विंडोज कंसोल" घटक है। - grawity
@ बेन लेकिन पेस्ट करने के लिए राइट क्लिक भी काम करता है cmd.exe (और यह एकमात्र तरीका है, यदि आप मेनू> संपादन> पेस्ट खोलना नहीं चाहते हैं) त्वरित संपादन मोड। प्री-विन 10 कमांड प्रॉम्प्ट में कोई शॉर्टकट नहीं है - phuclv


यह एक गहरी जड़ परंपरा है कि Ctrl एक पत्र के साथ कुंजी एक साथ ऊपरी केस अक्षर के ASCII मूल्य से 64 घटाने के द्वारा पाया ASCII नियंत्रण वर्ण उत्पन्न करता है। यह गणना नक्शे Ctrl- 1 तक, और इसी तरह। उदाहरण के लिए Ctrl-मैं है टैब तथा Ctrl-जम्मू लाइनफीड है

इसके लिए कोई समान परंपरा नहीं है Ctrl-खिसक जानाCtrl-खिसक जाना-वी किसी विशिष्ट चरित्र का उत्पादन करने की उम्मीद नहीं है।

टर्मिनल अनुकरणकर्ताओं को पारदर्शी रूप से पारित करके परंपरा का समर्थन करना चाहिए Ctrl सम्मेलन, इसे उस टर्मिनल विंडो के माध्यम से संचालित कार्यक्रमों में चरित्र इनपुट के रूप में दिखाई देने देता है। टर्मिनल-आधारित प्रोग्राम कमांड के लिए मानचित्र नियंत्रण कुंजी। उदाहरण के लिए, बैश का उपयोग करता है Ctrl-वी एक आदेश के रूप में जिसका अर्थ है "अगले चरित्र को शाब्दिक रूप से लें"। यह आपको कमांड लाइन में नियंत्रण चरित्र एम्बेड करने की अनुमति देता है। यदि टर्मिनल अपने स्वयं के उपयोग के लिए नियंत्रण कुंजी चुराता है, तो ऐसे आदेश अनुपलब्ध हो जाते हैं। तो अवरोधन Ctrl-वी मेटा-फ़ंक्शन के लिए प्रश्न से बाहर है (कम से कम एक डिफ़ॉल्ट कॉन्फ़िगरेशन में)।

हालांकि, टर्मिनल अनुकरणकर्ताओं को रोकने के लिए स्वतंत्र हैं Ctrl-खिसक जाना-वीजो एक चरित्र उत्पन्न करने की उम्मीद नहीं है। Ctrl-खिसक जाना-वी एक मानक नहीं है; यह एक जीनोम टर्मिनल चीज है (जो कुछ अन्य टर्मिनल में हो सकती है)।

एक्स-आधारित यूनिक्स डेस्कटॉप पर सम्मेलन यह है कि कॉपी करने के लिए कोई आदेश की आवश्यकता नहीं है। आप बस पाठ का चयन करें। और बीच बटन उस पाठ को कहीं और चिपकाता है। आप पाएंगे कि यह Xterm, gnome टर्मिनल और फ़ायरफ़ॉक्स में समान रूप से काम करता है।

Ctrl-वी एक माइक्रोसॉफ्ट विंडोज सम्मेलन है, जो की नकल है सेब-वी मैकिंटोश से।


16
2018-05-07 14:34



यह नहीं ठीक ठीक घटाव - परंपरागत रूप से Ctrl है 6 वें और 7 वें बिट्स को मंजूरी दे दी चरित्र का; इस वजह से, Ctrl + Shift + अक्षर अधिकांश टर्मिनलों में Ctrl + पत्र के समान रूप से काम करता है (जब तक यह टर्मिनल द्वारा स्पष्ट रूप से ओवरराइड नहीं होता है, जैसे प्रतिलिपि / पेस्ट शॉर्टकट के मामले में)। - grawity
चूंकि चाबियाँ अनिवार्य रूप से एएससीआईआई मानक के संबंध में यादृच्छिक रूप से आदेशित होती हैं, इसलिए प्रोग्राम रोम में कई लुक-अप टेबल शामिल होते हैं जो ASCII कोड की पीढ़ी में सहायता करते हैं। ... एक और कुंजी दबाए जाने पर नियंत्रण कुंजी को दबाकर एक और टेबल लुक-अप का कारण बनता है। [वीटी 100 श्रृंखला तकनीकी मैनुअल, 4.4.9.3, डिजिटल]। - Kaz
संपादन के लिए @ लिंजर धन्यवाद। यह अच्छी तरह से प्रस्तुत करता है, लेकिन ऐसा कोई तरीका नहीं है कि मैं इन सब टाइप कर रहा हूं <kbd> भविष्य की पोस्ट में टैग। - Kaz
Ctrl-A है 1। मैं इसे कैसे कोशिश कर सकता हूं? जब मैं दबाता हूं तो मेरा जीनोम टर्मिनल कुछ भी नहीं करता है Ctrl-A। - robert


कॉपी और पेस्ट करने के लिए हम सम्मिलित कीबोर्ड बटन का उपयोग कर सकते हैं (पुराने कीबोर्ड में यह गायब हो सकता है)

प्रतिलिपि: Ctrlसम्मिलित करें
चिपकाएं: Ctrlखिसक जानासम्मिलित करें 


2
2018-05-08 13:42





मेरे लिए, खोल में पेस्ट कॉपी करने का सबसे आसान तरीका यह है:

अपने इच्छित कोड का चयन करें और फिर इसे क्लिक करके इसे पिछला करें माउस मध्यम कुंजी


2
2017-08-03 12:57



जब तक आपके पास एक मध्यम माउस कुंजी हो। - jpierson
@jpierson नहीं कि मैं दृढ़ता से इसकी सिफारिश कर रहा हूं, लेकिन आप एक छोटी सी लिपि लिख सकते हैं जो बस उपयोग करता है xdotool click 2 आपके लिए तीसरे बटन पर क्लिक करने के लिए अनुकरण करने के लिए। फिर, आप जो भी विंडो प्रबंधक / डेस्कटॉप वातावरण में हैं, आप इस स्क्रिप्ट को एक कुंजी पर बाध्य कर सकते हैं - कहें mod  i (डालने के लिए) या जो भी कीबाइंडिंग आप उपलब्ध हो सकते हैं (या जो भी मोड का मतलब हो सकता है - जो वास्तव में निर्भर करता है कि आप इसे कहां बांधते हैं) - dylnmc


यदि आप आलसी महसूस कर रहे हैं और टेक्स्ट दस्तावेज़, स्क्रिप्ट या वेब या फ़ोरम से कमांड का चयन करते हैं तो आप मध्य बटन को माउस का भी उपयोग कर सकते हैं। एक बार जब आप इच्छित आदेश का चयन कर लेते हैं तो बस अपने टर्मिनल पर जाएं और माउस पर मध्य बटन पर क्लिक करें। मैं इस विधि का उपयोग करता हूं क्योंकि मैं पिल्ला लिनक्स का उपयोग करता हूं जो सही क्लिक और पेस्ट के सामान्य व्यवहार का समर्थन नहीं करता है। यह फ़ाइल हैंडलर विंडो में करता है, बस टर्मिनल विंडो में नहीं। पता नहीं क्यों, लेकिन मैं शांत हूँ मैं मध्य बटन विधि के बारे में पता चला, बहुत आसान! ;-)


1
2018-05-19 16:08