`एक्सचेंज-पॉइंट-एंड-मार्क` की उपयोगिता क्या है?


16

exchange-point-and-markआदेश के लिए बाध्य है C-x C-x, लेकिन मैं किसी भी उपयोग के मामलों है कि यह इस तरह के एक प्रमुख बंधन का योग्य बनाना होगा सोच भी नहीं सकते।

मैं exchange-point-and-markअपनी संपादन तकनीक को बेहतर बनाने के लिए कैसे उपयोग कर सकता हूं ?

जवाबों:


19

ऐसे दो मामले हैं जिनके बारे में मैं सोच सकता हूं: क्षेत्र को फिर से सक्रिय करना और क्षेत्र के आकार को समायोजित करना।

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

उदाहरण के लिए, एक Cs करें और किसी चीज़ की खोज करें। खोज से बाहर निकलने के लिए RET पर हिट करें, फिर Cx Cx को वह सब कुछ चिह्नित करें जहां से आपने खोज शुरू की थी।

एक और उदाहरण जो मैं बहुत कुछ करता हूं जब मैं कुछ नमूना को एक StackExchange उत्तर में शामिल करना चाहता हूं:

  1. जिस कोड को मैं कॉपी करना चाहता हूं, उसे थोड़ा चिह्नित करें।
  2. 4 रिक्त स्थान द्वारा कोड इंडेंट करने के लिए Cu Cx TAB को हिट करें। इस तरह यह साइट पर यहाँ कोड के रूप में प्रदान किया जाएगा। यह चरण इस क्षेत्र को निष्क्रिय कर देता है।
  3. इस क्षेत्र को फिर से सक्रिय करने के लिए Cx Cx को हिट करें, फिर Mw को क्लिपबोर्ड पर कॉपी करें ताकि मैं इसे अपने StackExchange उत्तर में पेस्ट कर सकूं।

दूसरा मामला तब है जब आप किसी क्षेत्र को चिह्नित कर रहे हैं और इसे बढ़ाना / छोटा करना चाहते हैं। उस स्थिति में यह क्षेत्र के "दूसरे छोर" पर कूदने में सक्षम है, इसे स्थानांतरित करें, फिर वापस कूदें। यदि क्षेत्र पहले से ही सक्रिय है, तो Cx Cx मारना इसे सक्रिय छोड़ देगा, जिससे आप या तो समाप्त हो जाएंगे।


17

Emacs से पूछें: C-h r i exchange-point-and-mark RETया, बेहतर C-h r i C-x C-x RET,। यह आपको नीचे दी गई जानकारी पर ले जाता है।

यह Emacs मैनुअल, नोड सेटिंग मार्क आपके प्रश्न के उत्तर में कहता है:

C-x C-xतब उपयोगी होता है जब आप बिंदु की स्थिति से संतुष्ट होते हैं, लेकिन क्षेत्र के दूसरे छोर (जहां निशान है) को स्थानांतरित करना चाहते हैं । C-x C-xदूसरी बार उपयोग करना , यदि आवश्यक हो, तो अंक को अपनी मूल स्थिति में बिंदु के साथ नई स्थिति में रखता है। आम तौर पर, यदि निशान निष्क्रिय है, तो यह कमांड पहले निशान को फिर से सक्रिय करता है, जहां यह अंतिम सेट था, यह सुनिश्चित करने के लिए कि क्षेत्र को हाइलाइट किया गया है। हालाँकि, यदि आप इसे एक उपसर्ग तर्क के साथ कहते हैं, तो यह निशान को निष्क्रिय कर देता है और इस क्षेत्र को अनसुना कर देता है; आप इसका उपयोग करने के लिए चिह्न के समान तरीके से कूद सकते हैंC-u C-<SPC>

और यह वही है जो इसके बारे में कहता है नोड डिसेबल क्षणिक मार्क में :

transient-mark-modeऑपरेशन के वैकल्पिक मोड में एमएसीएस को बंद करना [ ] बंद करना:

  • चिह्न सेट करना, जैसे आदेशों के साथ C-<SPC>या C-x C-x, इस क्षेत्र को उजागर नहीं करता है। इसलिए, आप यह नहीं देख सकते कि निशान कहाँ स्थित है; आपको याद रखना है।

    इस समस्या का सामान्य समाधान चिह्न को सेट करना और फिर जल्द ही इसका उपयोग करना है, इससे पहले कि आप भूल जाएं कि यह कहां है। आप यह भी देख सकते हैं कि निशान का उपयोग करके कहां हैC-x C-x , जो बिंदु और चिह्न के पदों का आदान-प्रदान करता है - सेटिंग मार्क देखें ।

जबकि क्षणिक मार्क मोड बंद है, आप इसे अस्थायी रूप से C-<SPC> C-<SPC>या का उपयोग करके सक्रिय कर सकते हैं C-u C-x C-x

तथा:

C-u C-x C-x विनिमय बिंदु और चिह्न, निशान को सक्रिय करें और अस्थायी रूप से क्षणिक मार्क मोड को सक्षम करें, जब तक कि निशान अगले निष्क्रिय न हो जाए। (यह एक उपसर्ग तर्क के साथ C-x C-xकमांड exchange-point-and-markहै।)


8

मैं इसका उपयोग करता हूं जब मैंने कुछ ऑपरेशन के कारण चयन को खो दिया है जो इसे हटा दिया है, और मैं चयन को पुनर्स्थापित करना चाहता हूं। ऐसा ही एक दृश्य होगा:

  1. आयत का चयन करें।
  2. इसे मार।
  3. आयत को मारना।
  4. C-x C-x आयत के लिए चयन को पुनर्स्थापित करने के लिए।

ऐसा तब होता है जब मैं किसी चयनित क्षेत्र का तदर्थ बैकअप बनाना चाहता हूं और कॉपी पर प्रयोग करना चाहता हूं, जैसे, उदाहरण के लिए, मैं कुछ ढूंढना-बदलना चाहता हूं, लेकिन मैं ऐसा करने का तरीका नहीं सोच सकता यह एक तरह से है जो कुछ पाठ को नष्ट नहीं करता है जो कि बने रहने के लिए है, इसलिए मैं बाद में इसे कॉपी से वापस कर दूंगा।


8

अन्य उत्तर सक्रिय C-x C-xहोने पर उपयोगिता पर ध्यान केंद्रित करते हैं transient-mark-mode। लेकिन C-x C-xभविष्यवाणी करता है transient-mark-mode, और इसके बारे में स्वतंत्र रूप से उपयोगी है।

C-x C-xबिंदु और चिह्न को स्वैप करना मुख्य भूमिका है। यह तब उपयोगी होता है जब आप दो बिंदुओं को एक ही बफर में संपादित कर रहे होते हैं और किसी कारण से वर्तमान विंडो को विभाजित नहीं करना चाहते हैं। बफ़र में कुछ एडिटिंग, सेट मार्क, कुछ अन्य बिंदु पर जाएँ, कुछ एडिटिंग करें, C-x C-xकुछ एडिटिंग पूर्व स्थान पर करें, C-x C-xकुछ और एडिटिंग करें, एड नाउसम। (यदि आप दूसरे बिंदु पर वापस आने की योजना नहीं बनाते हैं, तो C-u C-SPCयह अधिक सहज हो सकता है। Emacs मैनुअल में मार्क रिंग देखें ।)

जब transient-mark-modeअक्षम किया जाता है, तो C-x C-xएक और महत्वपूर्ण उद्देश्य है: यह आपको यह पता लगाने की अनुमति देता है कि क्षेत्र कहां है। C-x C-x, बिंदु पर त्वरित झलक, C-x C-xफिर से।

(और अगर आप सोच रहे हैं - हाँ, हम में से कुछ अभी भी transient-mark-modeअक्षम के साथ Emacs का उपयोग करना पसंद करते हैं ।)

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