2010-06-22 7 views
5

मैं अभी Emacs में शुरू कर रहा हूँ। कभी-कभी मैं कुछ के साथ प्रयोग कर रहा हूं और जब मैं प्रयोग समाप्त कर रहा हूं, तो मैं बस उस बफर पर वापस जाना चाहता हूं जिसे मैं संपादित कर रहा था, लेकिन मुझे नहीं पता कि कैसे। इससे भी बदतर, कभी-कभी मैंने दुर्घटना से एक कुंजी मारा और मुझे यह भी नहीं पता कि मैंने क्या मारा! विम में मैं बस ईएससी को ठीक करने के लिए हिट कर सकता हूं; क्या Emacs में पुनर्प्राप्त करने के लिए कोई समान तरीका है?Emacs में गन्दा परिस्थितियों से कैसे ठीक हो सकता है?

संपादित करें: मैं कमांड लाइन (गैर-जीयूआई) Emacs का उपयोग कर रहा हूँ।

उत्तर

9

ईएससी-ईएससी-ईएससी (कीबोर्ड-एस्केप-छोड़ें) भी है। मैनुअल से:

आदेश ESC ESC ESC (कुंजीपटल-एस्केप छोड़ने) छोड़ने या तो या निरस्त कर सकते हैं। इस कुंजी को परिभाषित किया गया था क्योंकि ईएससी का उपयोग कई पीसी प्रोग्रामों में "बाहर निकलने" के लिए किया जाता है। यह एक उपसर्ग तर्क रद्द कर सकता है, किसी चयनित क्षेत्र को साफ़ कर सकता है, या क्वेरी प्रतिस्थापन से बाहर निकल सकता है, जैसे सी-जी। यह मिनीबफर या रिकर्सिव संपादन से बाहर निकल सकता है, जैसे सी-]। यह फ्रेम को में विभाजित करने से बाहर निकल सकता है जैसे सी-एक्स 1. एक जो चीज नहीं कर सकती है, वह कमांड चल रहा है जो रोक रहा है। यह है क्योंकि यह सामान्य कमांड के रूप में निष्पादित करता है, और Emacs इसे नहीं देखता है जब तक यह कमांड के लिए तैयार न हो जाए।

मुझे स्थिति से बाहर निकलने की इच्छा के लिए प्राकृतिक प्रतिक्रिया होने के लिए ईएससी दबाकर मिलती है। जब आप निराश होते हैं तो इसे कई बार हमला करना भावनात्मक रूप से संतोषजनक हो सकता है।

+0

ध्यान दें कि यह 3 के गुणकों में काम करता है: यदि आप इसे 5 बार दबाते हैं, तो मिनीबफर "ईएससी ईएससी" प्रदर्शित करेगा और आपको इसे एक और बार मारना होगा। :-) – ShreevatsaR

+0

यह ठीक है। जब मैं एमाक्स से तंग आ जाता हूं तो मैं इसे तब तक दबाता रहता हूं जब तक कि मिनीबफर साफ़ नहीं हो जाता। बहुत से संख्याएं समान रूप से 3 से विभाजित हैं ... पीएस। बेशक इसके लिए '(सेटक दृश्य-घंटी टी)' की आवश्यकता होती है, जो आईएमएचओ एक आवश्यक इमाक्स अनुकूलन – zetetic

+1

है, मुझे थोड़ा प्यार है "जब आप निराश होते हैं तो इसे कई बार हमला करना भावनात्मक रूप से संतोषजनक हो सकता है।" – Vivi

8

"सी-जी" आपका आदेश छोड़ दिया गया है। यह ज्यादातर स्थितियों को ठीक करेगा।

"सी-एक्स ओ" आपको कई विंडो में ले जाएगा यदि आपके पास एकाधिक खुले हैं।

"सी-एच ए" (एप्रोपोस) अधिक कमांड और चाबियाँ खोजने का एक शानदार तरीका है। सभी बफर से संबंधित आदेशों की सूची प्राप्त करने के लिए "सी-एच एक बफर" दर्ज करें।

+5

बस इस एक सा, "चौधरी एल" पर विस्तार करने के लिए हाल ही में इनपुट प्रदर्शित करेगा है, जो उपयोगी हो सकता है यदि आप कुछ हिट करते हैं लेकिन यह नहीं जानते कि यह क्या था। इसके अलावा, "सी-एच टी" आपको अंतर्निहित ट्यूटोरियल में ले जाएगा, जो Emacs सीखने के लिए आपका पहला कदम होना चाहिए। – Hugh

3

आपकी विषय पंक्ति थोड़ा उलझन में है, क्योंकि 'मोड' (प्रमुख और मामूली) बफर के समान नहीं हैं (मोड से बफर लागू होते हैं, जिस तरह से आप देखते हैं और उनके साथ बातचीत करते हैं)। ऐसा लगता है जैसे आप वास्तव में जानना चाहते हैं कि आप अपने मूल बफर को दूसरे में बदलने के बाद कैसे ढूंढें?

C-x bswitch-to-buffer के लिए डिफ़ॉल्ट बाध्यकारी है। यह आपको स्विच करने के लिए एक डिफ़ॉल्ट बफर प्रदान करता है, जिसे आप RET दबाकर ऐसा कर सकते हैं। अधिकांश समय की पेशकश की गई डिफ़ॉल्ट इच्छा वह होगी जो आप चाहते थे। यदि नहीं, तो आप सभी उपलब्ध बफर की समाप्ति सूची देखने के लिए TAB दबा सकते हैं। अब इसे अद्वितीय बनाने के लिए पर्याप्त नाम टाइप करें, अपने नाम को पूरा करने के लिए TAB फिर से दबाएं, और फिर इसे चुनने के लिए RET दबाएं।

वैकल्पिक रूप से, C-x C-blist-buffers कमांड के लिए मानक बाध्यकारी है, जो आपको सभी बफरों की एक सूची दिखाएगा। other-window में बदलने के लिए आप C-x o का उपयोग कर सकते हैं, उस बफर का चयन करने के लिए ऊपर या नीचे जाएं, जिसे आप बदलना चाहते हैं, और इसे बदलने के लिए RET दबाएं। C-x 1 फिर आपके emacs डिस्प्ले से अन्य विंडो हटा देगा।

अंत में, कई प्रमुख मोड q को 'छोड़ें' कमांड से बांधते हैं, जो आम तौर पर उस बफर को फट या हटा देता है, जो आपको पिछले एक पर लौटता है। यह गारंटी नहीं है, लेकिन यह कई स्थितियों में काम करता है।

(पहले से ही दूसरों के द्वारा उल्लेख किया है, आप संभवतः, C-g करना पड़ सकता है या अन्यथा गर्भपात एक सक्रिय आदेश से पहले आप इन आदेशों का उपयोग कर सकते हैं।)

सभी ने कहा कि, मैं सोच रहा हूँ कि क्या आप वास्तव में जरूरत करने के लिए C-h t या M-x help-with-tutorial RET टाइप करें और उस दस्तावेज़ को पढ़ें और उसका पालन करें। यह आपके लिए इन सभी प्रकार के प्रश्नों का उत्तर देगा, और बहुत कुछ। Emacs जटिल हो सकता है, तो यह आपके समय के लिए बहुत अच्छा होगा।

+0

मैंने "मोड" को "गन्दा परिस्थितियों" में बदल दिया। मुझे यकीन नहीं है कि क्या चीजों को स्पष्ट करता है ... – kerkeslager

0

एम-एक्स मौलिक-मोड किसी दिए गए बफर में आपके सभी मोड को हटा देगा।

+0

यदि आप नहीं जानते कि आप किस मोड में थे, तो यह काफी भ्रमित हो सकता है। कुंजी काम करना बंद कर देती है और व्यवहार अजीब हो जाता है। –

0

मैं एक "प्रायोगिक" बफर (आमतौर पर मेरी *scratch* बफर) रखने के लिए और है कि करने के लिए स्विच करने के लिए एक कुंजी (मेरे मामले में, F4) बाँध। मैं इसे मारा, मेरे दिल की सामग्री के लिए खरोंच बफर, प्रयोग करने के लिए जाना और फिर Cx का उपयोग बफर मैं में था पर वापस स्विच करना।

किसी भी मामले में Cx, चाहिए आपको बफर स्विच करने की अनुमति देता है और आप उस स्थान पर "वापस जाएं" के लिए इसका उपयोग कर सकते हैं। iswitchb-mode बफर को बहुत अच्छी तरह से स्विच कर देता है लेकिन यह एक व्यक्तिगत राय है।

सी-जी Emacs के आदेश छोड़ने है। यह लगभग vim के ईएससी कुंजी के बराबर है। आप जो कुछ भी कर रहे हैं उससे बाहर निकलने के लिए इसे कुछ बार दबा सकते हैं (उदाहरण के लिए एक जटिल कमांड इत्यादि के माध्यम से आधे रास्ते) और फिर अपने नियमित वर्कफ़्लो पर वापस आएं।

चिंता न करें। थोड़ी देर के बाद, यह सब मांसपेशी स्मृति बन जाता है। विम विशेषज्ञों के लिए ईएससी कुंजी की तरह।

+0

मुझे चिंता नहीं है। :) – kerkeslager

+2

ठीक है, मैं था जब मैंने पहली बार Emacs का उपयोग करना शुरू किया था। मुझे एक ही मशीन से दूसरे मशीन से कनेक्ट करना पड़ा और प्रक्रिया को मारना पड़ा क्योंकि मुझे नहीं पता था कि कैसे छोड़ना है। :) –

+0

हाहा, यह एक शानदार कहानी है। मैं पहले से ही विम सीखने की प्रक्रिया के माध्यम से चला गया, इसलिए इस बार मैं इसे बंद करने के बारे में जानने के बिना emacs खोलने से बेहतर जानता था। :) – kerkeslager

2

रद्द, पूर्ववत करें/फिर

C-g किसी भी आदेश को रद्द कर देगा। वहाँ एक बार यह काम नहीं करेगा, जब आप बीच में अपने आप को एक आदेश दर्ज, उदाहरण के लिए है:

  • आप C-xC-f (लगता है-फाइल) टाइप करें।
  • फ़ाइल नाम टाइप करते समय आप दूसरे बफर C-xC-o पर स्वैप करते हैं।
  • अब आप मिनीबफर (नीचे के क्षेत्र) में वापस स्वैप किए बिना कमांड को रद्द नहीं कर सकते हैं।
  • बस वहां वापस आने और जारी रखने के लिए C-xC-o का उपयोग करें।

C-_, पूर्ववत करें/फिर है यह केवल 1 दिशा है।यदि आप 20 बार सी-_ करते हैं, तो बदलाव करें, वे अंडे आपके अतीत बन जाते हैं और आप अपने बदलाव को पूर्ववत करने के लिए 21 बार और सी 20 कर सकते हैं और आपके 20 अंडर, आप वापस आ जाएंगे जहां आपने शुरू किया था।

ढूँढना बफ़र

  • उपयोग C-x<left> और C-x<right> शुरुआत बफ़र्स के बीच स्वैप करने के लिए में
  • फिर C-xb पर उपयोग करें।
  • M-x ibuffer आज़माएं।

विभाजन

  • C-x3 स्प्लिट खड़ी
  • C-x2 स्प्लिट क्षैतिज
  • C-x1 सभी विभाजन निकालें

जानकारी

  • M-x info अपने सबसे अच्छे दोस्त
  • जानें के बारे में C-h
संबंधित मुद्दे