2010-10-15 17 views
6

विंडोज स्टाइल स्वयं स्पष्टीकरण प्रतिलिपि/कट/पेस्ट कमांड के विपरीत, मैं रिंग एएमएसी में अवधारणा को समझ नहीं पाया।emacs में अंगूठी कहा जाता है?

चूंकि मैं अक्सर एमएक्स में प्रोग्राम नहीं करता हूं, इसलिए मुझे रिंग फीचर के मूल्य का एहसास नहीं हो सका। क्या आप मुझे बता सकते हैं कि इमैक में रिंग कहलाता है और इसका उपयोग कैसे किया जाता है?

+1

मुझे नहीं लगता कि यह प्रश्न यहां विषय-वस्तु है। यह एक कंप्यूटर प्रौद्योगिकी सवाल है कि कैसे Emacs में क्लिपबोर्ड लागू किया जाता है। –

+4

जब भी कोई कहता है कि कंप्यूटर तकनीक का कुछ टुकड़ा "आत्म व्याख्यात्मक" है, तो मुझे लगता है कि वास्तव में इसका मतलब है कि उन्होंने बहुत पहले यह सीखा है कि वे उस समय के बारे में भूल गए थे जब उन्हें समझ में नहीं आया था। :-) – Ken

+1

emacs अंगूठी एक साधारण क्लिपबोर्ड नहीं है, और निश्चित रूप से आत्म व्याख्यात्मक नहीं है। सामान्य रूप से, जब emacs कुछ करता है, तो यह एक सुपर फीचर, जटिल तरीके से समझने के लिए करता है जो कुछ उपयोगकर्ताओं के लिए सुपर शक्तिशाली है जिसके लिए इसे सीखने का समय निवेश करना इसके लायक है। –

उत्तर

12

ठीक है, मुझे सरल शब्दों में आज़माएं। प्रत्येक बार जब आप कॉपी करते हैं (एम-डब्ल्यू) या कट (सी-डब्ल्यू), चयन शीर्ष में तथाकथित अंगूठी (जो एक बंद समाप्ति सूची की तरह है) में डाला गया है।

दिलचस्प हिस्सा बाद में आता है। अब, यदि आप सी-वाई के साथ पेस्ट करते हैं तो सबसे हाल ही में चिपका हुआ क्षेत्र (जो अब अंगूठी के तत्व) बफर में डाला गया है। यदि आप एम-वाई दबाते रहेंगे, तो टेक्स्ट को अंगूठी से पुराने और पुराने तत्वों के साथ क्रमशः प्रतिस्थापित किया जाता है, इसलिए कहने के लिए, अंगूठी घुमाया जाता है और पुराने पाठ को प्रत्येक बार फ्रंट तत्व के रूप में नामित किया जाता है। यह आपको पुराने कट/कॉपी किए गए टेक्स्ट तक पहुंच प्रदान करता है।

उपयोगी हिस्सा यहां समाप्त नहीं होता है। यदि आप किसी अन्य पाठ को काट/प्रतिलिपि बनाते हैं, तो इसे शीर्ष पर अंगूठी के अंदर डाला जाएगा, और अंगूठी फिर से घुमाया जाएगा जैसे कि शीर्ष अब फ्रंट है। और आप सी-वाई एम-वाई अनुक्रम फिर से शुरू कर सकते हैं, नए डाले गए पाठ को फ्रंट के रूप में नामित किया गया है।

तो, समाप्त करने के लिए:

  • अंगूठी के शीर्ष जगह है जहाँ नई-नई कॉपी/कट (एम डब्ल्यू/सी डब्ल्यू) पाठ सम्मिलित किया जाता है है। जब ऐसा होता है, शीर्ष तत्व फ्रंट तत्व बन जाता है।
  • अंगूठी के सामने तत्व जगह है जिस पर पेस्ट (उर्फ झटका) है, आदेश सी-y और एम वाई संचालित बफर में यह डालने से। एम-वाई अंगूठी को भी घुमाता है, जैसे कि अंगूठी में पुराना पाठ फ्रंट बन जाता है।

आप सामने 12 घंटे स्थिति पर तय साथ चक्र की कल्पना से यह कल्पना कर सकते हैं, लेकिन अंगूठी का हिस्सा नहीं। शीर्ष इसके बजाय अंगूठी का हिस्सा है, इसलिए जब कुछ आदेश अंगूठी को घुमाता है तो शीर्ष भी घुमाया जाता है।

alt text

3

एक अंगूठी एक गोलाकार बफर है। एक रोलोडेक्स के बारे में सोचो।

यदि आप किसी अंगूठी को मार रहे हैं या यंक कर रहे हैं, तो आप अपने इतिहास में आगे और पीछे चल सकते हैं।

1

Emacs manual से: "एक अंगूठी एक निश्चित आकार की डेटा संरचना है जो सम्मिलन, हटाना, घूर्णन, और मॉड्यूलो-अनुक्रमित संदर्भ और ट्रैवर्सल का समर्थन करती है।" दूसरे शब्दों में, यह circular queue है।

4

हर बार जब आप खिड़कियों में क्लिपबोर्ड पर कुछ कॉपी या कट करते हैं, तो आप पहले अपने क्लिपबोर्ड पर जो कुछ भी खो देते हैं, खो देते हैं। (हालांकि कुछ प्रोग्राम आपके लिए पिछले क्लिपबोर्ड सामग्रियों को स्टोर करेंगे) Emacs "अंगूठी" चीजों की प्रतिलिपि/yank/कट/मारने के बाद भी पुरानी क्लिपबोर्ड सामग्री संग्रहीत करेगी। यदि आप इसका उपयोग करते हैं तो यह आसान हो सकता है क्योंकि यह आपको क्लिपबोर्ड में एक से अधिक चीज़ों को एक साथ स्टोर करने देता है, और आप क्लिपबोर्ड पर कटौती की गई चीज़ों को गलती से ओवरराइट करने की संभावना को कम कर देते हैं जैसे कि आप विंडोज़ में कर सकते हैं।

2

उबंटू पर, स्थापित emacs-goodies-el पैकेज के साथ:

प्रेस C-(M-x browse-kill-ringRETC-)

यह एक अस्थायी कुंजीपटल मैक्रो जो browse-kill-ring कॉल जब आप C-x e प्रेस परिभाषित करता है।

अब आपको सिर्फ हत्या की अंगूठी के बारे में पढ़ने की ज़रूरत नहीं है, आप वास्तव में देख सकते हैं कि इसमें क्या है।

साथ C-w (कट), M-w (कॉपी), C-y (झटका) और C-y M-y (अगले रिंग में झटका), और मारने की अंगूठी पर प्रभाव देखने के लिए C-x e प्रेस प्रयोग।

+0

क्या एक मानक लाइब्रेरी फ़ंक्शन 'ब्राउज़-मार-रिंग' है? मुझे यह नहीं मिला। –

+0

@ टोरोक गैबर: ओह, मुझे नहीं पता था कि यह एक मानक पुस्तकालय समारोह नहीं है। यह उबंटू पर emacs-goodies-el पैकेज द्वारा प्रदान किया जाता है। कोड यहां पाया जा सकता है: http://www.fan.gr.jp/~ring/doc/misc/browse-kill-ring.el – unutbu

+0

, Drew

संबंधित मुद्दे