Bracketed-paste
ब्रैकेटेड पेस्ट (कभी-कभी पेस्ट ब्रैकेटिंग के रूप में जाना जाता है), कुछ टर्मिनल एमुलेटर का एक तरीका है जो टर्मिनल में चलने वाले प्रोग्रामों को सामान्य रूप से टाइप किए गए पाठ से अलग तरीके से पेस्ट किए गए पाठ का इलाज करने की अनुमति देता है। ब्रैकेटेड पेस्ट फीचर को 2002 में एक्सटर्म द्वारा ईमैक्स के साथ बातचीत में सुधार के लिए एक उपयोगकर्ता-योगदान परिवर्तन के रूप में पेश किया गया था। बाद में, 2005 में, एक अन्य उपयोगकर्ता ने इसे जे. ओ. ई. संपादक के लिए एक अन्य चयन/पेस्ट सुविधा के हिस्से के रूप में प्रलेखित किया। कई वर्षों के दौरान, अन्य डेवलपर्स ने टर्मिनल एमुलेटर और संपादकों के लिए इस सुविधा को अनुकूलित किया जो इस सुविधा के साथ काम करते हैं। अभिप्रेरणा ब्रैकेटेड पेस्ट का उपयोग निम्नलिखित समस्या को हल करने के लिए किया जाता है, आमतौर पर टर्मिनल टेक्स्ट एडिटर (जैसे विम या ईमैक्स) में कोड को संपादित करते समय इसका सामना करना पड़ता है। इन पाठ संपादकों में अक्सर ऑटोइंडेंट कार्यक्षमता शामिल होती है, जिसके कारण जब उपयोगकर्ता एक पंक्ति के अंत में एंटर कुंजी दबाता है तो इंडेंटेशन स्वचालित रूप से जोड़ा जाता है। उदाहरण के लिए, मान लीजिए कि हम एक पाठ संपादक में निम्नलिखित कोड ब्लॉक को संपादित कर रहे हैं, जिसमें कर्सर की स्थिति। character.def f (): प्रिंट ('फू') |If द्वारा चिह्नित है, उपयोगकर्ता एंटर दबाता है, पाठ संपादक अक्सर कर्सर को अगले कोड block.def f () में चिह्नित स्थान पर आगे बढ़ा देंगेः प्रिंट ('फू') |This कोड चिपकाते समय अनपेक्षित परिणाम हो सकते हैं जो पहले से ही प्रारूपित है। उदाहरण के लिए, मान लीजिए कि उपयोगकर्ता कोड के निम्नलिखित ब्लॉक को file.def g () में कॉपी करना चाहता हैः प्रिंट ('हैलो') प्रिंट ('वर्ल्ड') एक विशिष्ट कार्यप्रवाह में, उपयोगकर्ता कोड के ब्लॉक का चयन करके और इसे अपने सिस्टम क्लिपबोर्ड पर कॉपी करके शुरू करता है। फिर, वे अपनी फ़ाइल में लक्ष्य स्थान का चयन करते हैं, और एक पेस्ट कमांड जारी करते हैं। टर्मिनल एमुलेटर तब क्लिपबोर्ड से अक्षरों को पाठ संपादक को भेजता है, और पाठ संपादक उदाहरण के लिए, क्लिपबोर्ड से आए एक डी अक्षर और उपयोगकर्ता द्वारा अपने कीबोर्ड पर डी कुंजी दबाने से आए एक डी अक्षर के बीच अंतर करने में सक्षम नहीं हो सकता है। कोड ब्लॉक में नई लाइनों को उसी तरह से व्यवहार किया जाता है जैसे उपयोगकर्ता द्वारा एंटर कुंजी को दबाया जाता है। इसलिए, जब पहली पंक्ति के अंत में नई पंक्ति पाठ संपादक को भेजी जाती है, यदि ऑटोइंडेंट सक्षम है, तो पाठ संपादक एक इंडेंट (कई रिक्त स्थान या एक टैब वर्ण) डालेगा। इसके बाद, टर्मिनल एमुलेटर क्लिपबोर्ड पर कोड के ब्लॉक की दूसरी पंक्ति की शुरुआत में रिक्त स्थान के अनुरूप स्थान वर्णों को प्रसारित करेगा, जिसके परिणामस्वरूप दोहरा संकेत होगा। इसके अलावा, इस संदर्भ में, विशिष्ट ऑटोइंडेंट व्यवहार तीसरी शुरू करते समय दूसरी पंक्ति के इंडेंटेशन स्तर से मेल खाना होगा, जिसके परिणामस्वरूप तीसरी पंक्ति ट्रिपल-इंडेंटेड होगी। अंतिम परिणाम कुछ इस तरह दिख सकता है जैसे following.def g (): प्रिंट ('हैलो') प्रिंट ('वर्ल्ड') ब्रैकेटेड-पेस्ट टर्मिनल एमुलेटर का विवरण (जैसे कि एक्सटर्म और आईटर्म2) प्रोग्रामों को एस्केप कोड, या नियंत्रण अनुक्रमों के माध्यम से टर्मिनल एमुलेटर के व्यवहार को कॉन्फ़िगर करने की अनुमति देता है। ऐसा करने का सामान्य तरीका यह है कि एक उपयोगकर्ता प्रोग्राम एक नियंत्रण अनुक्रम को मानकीकृत करने के लिए प्रिंट करता है, और अंतिम एमुलेटर मानक को पढ़ता है, नियंत्रण अनुक्रम को नोटिस करता है, और उचित रूप से प्रतिक्रिया करता है। विशेष रूप से, टर्मिनल एमुलेटर नियंत्रण अनुक्रम प्रदान कर सकते हैं जो ब्रैकेटेड-पेस्ट को चालू और बंद कर देते हैं। एक पाठ संपादक शुरुआत में ब्रैकेटेड-पेस्ट को चालू करने के लिए या उपयोगकर्ता आदेश के जवाब में नियंत्रण अनुक्रम भेज सकता है। इसके बाद, उपयोगकर्ता द्वारा टाइप किए गए वर्णों को सामान्य रूप से अंतिम एमुलेटर द्वारा पाठ संपादक को अग्रेषित किया जाएगा। हालाँकि, यदि उपयोगकर्ता टर्मिनल एमुलेटर में एक पेस्ट कमांड जारी करता है, तो टर्मिनल एमुलेटर पेस्ट किए गए पाठ की शुरुआत और अंत में विशेष नियंत्रण अनुक्रम डालेगा-यह पेस्ट की गई सामग्री को ब्रैकेट करेगा-पाठ संपादक को उस इनपुट को अलग तरीके से व्यवहार करने में सक्षम बनाएगा (उदाहरण के लिए, अस्थायी रूप से ऑटोइंडेंटेशन को बंद करने के लिए)। प्रत्येक कार्यान्वयन एक्सटर्म के नियंत्रण अनुक्रमों में प्रलेखित नियंत्रण अनुक्रमों का उपयोग करता हैः ई. एस. सी. [200 ~ चिपकाए गए पाठ की शुरुआत को दर्शाने के लिए और ई. एस. सी. [201 ~ अंत को दर्शाने के लिए। संदर्भ क्लिपबोर्ड (कम्प्यूटिंग) उपयोगकर्ता इंटरफेस तकनीकें