कॉपी-पेस्ट xfce4- टर्मिनल में 0 ~ और 1 ~ जोड़ता है


105

मैं xubuntu 14.04, 64 बिट का उपयोग करता हूं। हर अब और फिर, जब मैं, xfce4 टर्मिनल में कुछ पाठ चिपकाने के लिए उम्मीद पाठ के बजाय चिपकाया जा करने की कोशिश है, यह से घिरा हुआ है 0~और 1~, जैसे:

0~mvn clean install1~

पाठ माना जाता है mvn clean install- मैंने इसे विभिन्न अन्य अनुप्रयोगों में सामग्री को चिपकाकर (ग्नोम-टर्मिनल, गेडिट और अन्य) सत्यापित किया है। प्रत्येक एप्लिकेशन xfce4- टर्मिनल को छोड़कर, सामग्री को सही ढंग से चिपकाता है। मुझे इंटरनेट पर इसके लिए कोई संदर्भ नहीं मिला (दुर्भाग्य से, google.com पर विशेष वर्णों के साथ पाठ की खोज करना कठिन है ...)। ऐसा क्यों होता है?


आप कैसे चिपका रहे हैं? मिडिल क्लिक, या कुछ और?
सेलडा

1
मैंने हर विधि आज़माई है: मध्य क्लिक, राइट क्लिक और चुना विकल्प पेस्ट, ctrl + shift + v। जब 0 ~ और 1 ~ अक्षर दिखाई देते हैं, तो इससे कोई फर्क नहीं पड़ता कि मैं किस पेस्टिंग विधि का उपयोग करता हूं।
बॉटिस्मेरिस

जवाबों:


144

मुद्दा यह है कि आपका टर्मिनल ब्रैकेटेड पेस्ट मोड में है, लेकिन यह ठीक से समर्थन नहीं करता है। यह मुद्दा VTE में तय किया गया था, लेकिन xfce4- टर्मिनल अभी भी इसका एक पुराना और अनछुए संस्करण का उपयोग कर रहा है।

आप अस्थायी रूप से उपयोग करके ब्रैकेटेड पेस्ट मोड को बंद करने का प्रयास कर सकते हैं:

printf "\e[?2004l"

4
यदि आप हमेशा इसे पुन: उत्पन्न नहीं कर सकते हैं, तो हो सकता है कि आप कुछ प्रोग्राम चला रहे हों, जो ब्रैकेटेड पेस्ट मोड को सक्षम करते हैं और फिर यह क्रैश हो जाता है, इसलिए बाहर निकलने से पहले इसे अक्षम करने में सक्षम नहीं था।
कियारास

4
बहुत अच्छे धन्यवाद! मैं एक साल से अधिक समय से इस मुद्दे से जूझ रहा हूं। क्या इस "ब्रैकेटेड पेस्ट मोड" को पूरी तरह से अक्षम करना संभव है? BTW, कौन इस तरह की पागल चीजों को लागू करता है? ;)
एडम रोमनेक

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

1
मैं कैसे पा सकता हूं कि कौन सा प्रोग्राम ब्रैकेटेड पेस्ट मोड के साथ गड़बड़ कर रहा है?
एविग्नेस्टो जूल

3
उबंटू के आधार पर वितरण के लिए आप लॉन्चपैड.
डेनिस बखरेव

78

मेरा मुद्दा बुरी तरह से बंद बैश सत्र के कारण था। इसलिए resetमेरे टर्मिनल में चल रहे कमांड ने इसे तुरंत हल कर दिया।


2
इसने मेरे लिए काम किया।
AFP_555

और यह मेरे लिए काम किया!
टमाटर

टर्मिनेटर का उपयोग करते हुए, Ubuntu 16.04 के साथ हुआ। रीसेट काम किया!
user1270710

मेरा टर्मिनेटर भी यही कर रहा था, यह भी Ubuntu 16.04 चल रहा था। resetमेरे ssh कनेक्शन पर चल रहा है यह तय है।
मार्सेलो ग्रीची ने

23

मेरे पास एक ही मुद्दा था, यह vi का उपयोग करने के बाद होता है।

set t_BE= मेरी .vimrcफ़ाइल में जोड़कर मेरा हल किया गया था ।

के लिए संदर्भ , यह क्या t_BE करता है:

t_BE ब्रैकेटेड पेस्ट मोड सक्षम करें


7
यह वास्तव में कारण था, धन्यवाद! मेरे मामले में यह तब शुरू हुआ जब मैंने
rgerganov

1
क्या आप यह बता सकते हैं कि t_BE = क्या सेट करता है और यह समस्या क्यों हल करता है?
फ्रांसेस्को बोकारो

7

यह व्यवहार तब होता है जब टर्मिनल एमुलेटर ब्रैकेटेड पेस्ट मोड में फंस जाता है

यह आमतौर पर तब होता है जब कोई एप्लिकेशन अशुद्ध रूप से बाहर निकलता है (क्रैश या छोटी गाड़ी है)।

घटना अक्सर होने के लिए एक और कारण एक है VTE के पुराने संस्करणों में बग (VTE के तहत टर्मिनल अनुकरण विजेट है gnome-terminalऔर xfce4-terminalऔर कई और अधिक) है जो इस तरह के रूप में कुछ उपयोगिताओं में कुछ कार्रवाई से शुरू हो रहा मध्यरात्रि कमांडर में पैनल टॉगल

यह देखने के लिए कि क्या यह बग VTE- आधारित टर्मिनल एमुलेटर में तय किया गया है जिसे आप चला रहे हैं: निष्पादित करें echo -ne '\e[>c', यह कुछ वर्णों को सम्मिलित करेगा जैसे कि आपने उन्हें टाइप किया था। यदि मध्य संख्या 3602बड़ी या बड़ी है, तो उपरोक्त VTE बग अब आपके लिए मौजूद नहीं है। यदि संख्या इससे छोटी है, तो वीटीई अभी भी प्रभावित है और ब्रैकेटेड पेस्ट मोड में अधिक से अधिक बार अटक जाना चाहिए।

यह देखने के लिए कि क्या एक निश्चित उबंटू वितरण में एक निश्चित टर्मिनल एमुलेटर तय किया गया है, संकुल पर इसकी निर्भरता की जाँच करें । libvte-2.91-0अच्छा है। libvte-2.90-9केवल तभी अच्छा है जब उस पैकेज का वास्तविक संस्करण 0.36.2 या नया हो, और libvte9खराब हो। विशेष रूप से, xfce4-terminalXenial में छोटी गाड़ी है, और Zesty में तय की गई है।


1

यह आपकी समस्या पर सीधे लागू नहीं हो सकता है, लेकिन मुझे यह लक्षण संभवत: मेरे मामले में, मेरे संपादक की पसंद 'मेसडिट' (मिडनाइट कमांडर) के कारण हुआ।

बग समस्या को दूर करने के लिए, मैंने अपने .bashrc फ़ाइल में निम्न फ़ंक्शन जोड़ा:

### vvv 'function mcedit' is a fix-up for the ~0/~1 paste problem
function mcedit() { command mcedit $@ ; printf '\e[?2004l' ; }

फिर 'स्रोत .bashrc'

अब हर बार जब मैं 'mcedit' पर अमल करता हूं, तो स्वचालित रूप से "Printf" \ e [? 2004l "जोड़ता है, जब मैं" ब्रैकेट पेस्ट मोड "को रीसेट करने के लिए बंद हो जाता हूं

मेरे लिए काम करता है, YMMV।

उसी दृष्टिकोण का उपयोग vi, vim, nano, या किसी अन्य दुर्व्यवहार कार्यक्रम के साथ किया जा सकता है।

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