2009-07-31 15 views
24

यह शायद एक बहुत ही बेवकूफ Emacs सवाल है - मैं इसके लिए नया हूँ।मैं Emacs में स्वचालित रूप से खोला गया विंडो कैसे बंद करूं?

जब मैं एक लिस्प अभिव्यक्ति का मूल्यांकन कर रहा हूं, यदि कोई त्रुटि है तो डीबगर स्वचालित रूप से दूसरी विंडो में आता है। अगर मेरे पास * स्क्रैच * और * जानकारी * खुली है (लिस्प और बाद वाले को पढ़ने के लिए पूर्व की कोशिश करने के लिए पूर्व), तो डीबगर खिड़की में खुलता है * जानकारी * अंदर थी। फिलहाल, मुझे स्विच करना है * खिड़की पर, फिर * स्क्रैच * पर लौटने से पहले इसे वापस * जानकारी * में बदलें। (वही बात होती है यदि मैं बफर की सूची के लिए सी-एक्स सी-बी करता हूं।) मुझे लगता है कि कमांड के इस लंबे अनुक्रम के बिना उस विंडो को बंद करने का एक तरीका होना चाहिए। क्या कोई मुझे प्रबुद्ध कर सकता है?

+0

शायद SuperUser पर इस पर पूछना होगा? –

+0

मैंने इस पर विचार किया था ... यह निर्णय लेने में मुश्किल है। क्या यह क्रॉस-पोस्ट करने के लिए ठीक है? (मुझे लगता है कि मुझे मेटा में यह पूछना चाहिए: पी) – Skilldrick

+3

चूंकि Emacs के बारे में अधिकतर प्रश्नों में आम तौर पर थोड़ा सा लिखना शामिल होता है, इसलिए उन्हें सबसे अच्छा जवाब दिया जाता है। :) –

उत्तर

21

कम से कम यहां मेरे emacs (22.3) पर, जब डीबगर पॉप अप हो जाता है, तो इसकी खिड़की सक्रिय हो जाती है। वहां, क्यू दबाकर डीबगर छोड़ देता है, अगर आप यही चाहते हैं। उस बिंदु पर, यह रिकर्सिव संपादन से भी बाहर हो जाता है।

+0

हाँ, यह काम करता है! यह लगातार बफर सूची के मामले को हल नहीं करता है, लेकिन शायद यह एक और सवाल है ... – Skilldrick

+0

"क्यू" पॉप अप खिड़कियों के लिए काफी आम निकास तंत्र है। कैल्क, कैलेंडर, डीबगर्स, डायर और अन्य कई लोगों के साथ काम करता है जो ब्राउज़-मार-रिंग की तरह अंतर्निहित नहीं हैं। यह लगातार बफर सूची के साथ भी काम करता है, हालांकि आपको पहले बफर सूची में स्विच करना होगा। यदि आपके पास एक विशेष वर्किंग विंडो कॉन्फ़िगरेशन है, तो आप इसे सी-एक्स आर डब्ल्यू के साथ स्टोर कर सकते हैं और फिर किसी भी समय सी-एक्स आर जे के साथ इसे वापस कूद सकते हैं। –

+0

मैं 24.5 के साथ खेल रहा था, 'क्यू' समाधान की पुष्टि कर सकता हूं। हालांकि, अगर किसी भी उदाहरण में 'क्यू' आपको विफल कर देता है, तो 'सी-एक्स 0' भी केंद्रित विंडो बंद कर देगा। –

1

एक संभव समाधान एक खिड़की प्रबंधन पैकेज का प्रयोग है। अपनी "पसंदीदा" विंडो व्यवस्था को स्टोर करें, और डीबगर/बफर विंडो पॉप अप होने के बाद और आप इसके साथ काम कर रहे हैं, अपनी पसंदीदा व्यवस्था पर वापस आएं।

से चुनने के लिए संकुल का एक गुच्छा है, देखें: switching window configurations विकी पर।

इसके अतिरिक्त, आप उन क्रियाओं को समझना चाहते हैं जो आप आमतौर पर करते हैं जो अतिरिक्त (अवांछित) विंडो पॉप-अप को ट्रिगर करते हैं, और विंडो पॉप अप होने से ठीक पहले अपनी विंडो कॉन्फ़िगरेशन को सहेजने के लिए इसका उपयोग करें।

आप अपने खुद के (यह बहुत आसान है) रोल करना चाहते हैं, तो आप सिर्फ विंडो विन्यास बंद बचा सकता है, और इसलिए है कि यह बहाल:

(setq the-window-configuration-i-want (current-window-configuration)) 
(global-set-key (kbd "<f7>") 
     (lambda() (interactive) 
      (set-window-configuration the-window-configuration-i-want))) 

चाल जहां की स्थापना डाल करने के लिए पता लगाना है the-window-configuration-i-want

3

मैं तुम्हें सी-एक्स 4 सी ओ है, जो इसे पर स्विच किए बिना "अन्य" विंडो में एक बफर प्रदर्शित करता है के लिए देख रहे है।

जैसा ऊपर बताया गया है, बैकट्रैस बफर के मामले में आप शायद q के साथ इसे बाहर निकलना चाहते हैं, रिकर्सिव संपादन से बाहर निकलने के लिए।

5

winner mode का उपयोग करके, आप पिछले विंडो कॉन्फ़िगरेशन पर वापस जाने के लिए कीबाइंडिंग सी-सी बायां तीर का उपयोग कर सकते हैं। बेशक, यह वास्तव में नए बफर को मारता नहीं है, लेकिन यह इसे छुपाता है।

12

जो मैं समझता हूं, उससे आप अपने कर्सर को वर्तमान विंडो से घुमाने के बिना दूसरी विंडो में बफर को बंद करना चाहते हैं।

मैं कोई मौजूदा कार्य नहीं करता, इसलिए मैंने अपना खुद का लुत्फ उठाया।

(defun other-window-kill-buffer() 
    "Kill the buffer in the other window" 
    (interactive) 
    ;; Window selection is used because point goes to a different window 
    ;; if more than 2 windows are present 
    (let ((win-curr (selected-window)) 
     (win-other (next-window))) 
    (select-window win-other) 
    (kill-this-buffer) 
    (select-window win-curr))) 

आप की तरह "सी-एक्स कश्मीर" या कुछ अन्य कुछ हद तक मुश्किल-से-प्रेस कुंजी ताकि आप इसे गलती से प्रेस नहीं होगा कुछ करने के लिए इसे बाध्य कर सकते हैं।

(global-set-key (kbd "C-x K") 'other-window-kill-buffer) 

मैं इसका उपयोग बहुत कम करता हूं! (सहायता बफर, संकलन बफर, जीईपी बफर, और केवल सादे पुराने बफर जो मैं अभी बंद करना चाहता हूं, बिंदु को घुमाने के बिना)

1

popwin-mode का उपयोग करने का प्रयास करें। यह स्वचालित रूप से विंडोज़ बंद करने के बारे में वास्तव में अच्छा है।

शीघ्र ही बीमार वर्णन करने के लिए

आप undo-tree-visualize खोलने से आपको लगता है कि करने के बाद अपने सही शाखा को खोजने की कोशिश आप विंडो switch-window बदल यह अन्य विंडो को बंद स्वचालित रूप से

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