सभी विंडो को बंद करने का त्वरित तरीका, और फिर पिछली विंडो सेटअप पर वापस लौटें?


12

मैं अपनी सभी विंडो बंद करना चाहता हूं, लेकिन वर्तमान एक और फ्रेम को अधिकतम करना ताकि मैं जल्दी से उस एक विंडो में बफर में सब कुछ देख सकूं और फिर अपने पिछले विंडो सेटअप में वापस आ सकूं। मैं ऐसा कैसे कर पाऊंगा?


यह लिंक मदद कर सकता है।
नस्सकमी _

3
यह स्पष्ट नहीं है कि "बंद" या "उस एक फ्रेम में सब कुछ देखें" से आपका क्या मतलब है। उस फ़्रेम को अधिकतम करना (उठाना और बढ़ाना) जिसे आप उस फ्रेम में सब कुछ नहीं देखने देना चाहते हैं? अन्य फ्रेम अभी भी वहाँ होंगे, लेकिन अधिकतम फ्रेम के पीछे छिपे होंगे। यह पूरा करने के लिए तुच्छ है, अगर यह आपकी आवश्यकता के अनुरूप है।
ड्रू

1
बस यह सुनिश्चित करने के लिए, आप शब्द फ़्रेम की Emacs परिभाषा का उपयोग कर रहे हैं , है ना? शीर्ष-स्तरीय चीज़ जो आपके विंडो मैनेजर द्वारा प्रबंधित की जाती है?
5

@zk मेरा मतलब है कि व्यक्तिगत रूप से दिखाई देने वाले बफ़र्स में मेरी स्क्रीन विभाजित है। मैं पूरी स्क्रीन को भरने के लिए एक बफ़र को अधिकतम करना चाहता हूं, और फिर इसे पूर्ववत करें ताकि मैं सभी बफ़र्स को उनके मूल कॉन्फ़िगरेशन में देख सकूं। मैं माफी माँगता हूँ अगर मुझे शब्दावली गलत मिली, तो मैंने इसे देखने और प्रयोग करने के लिए सबसे अच्छा शब्द चुनने की कोशिश की
एंड्रयू

2
शब्दावली को स्पष्ट करने के लिए, देखें: बफर, फ़ाइल, विंडो और फ़्रेम में क्या अंतर है?
दान

जवाबों:


14

आपके Emacs में आपके द्वारा देखे जाने वाले पाठ के विभिन्न खंड विंडोज़ हैं । उदाहरण के लिए, आप एक नई विंडो बना सकते हैं C-x 2। हां, यह शब्दावली भ्रामक है। यह अधिकांश GUI सिस्टम को पूर्व निर्धारित करता है, इसलिए यदि यह अभी भी भ्रमित है तो समझ में आता है।

लेकिन एक बार जब हमें पता चल जाता है कि हम विंडोज़ के बारे में बात कर रहे हैं, तो हम आपके इच्छित बदलाव कर सकते हैं। उस बिंदु को छोड़कर, चलाने C-x 1, मैप करने के लिए सभी विंडो से छुटकारा पाने के लिए delete-other-windows

फिर, जो आपके पास पहले था, उस पर वापस जाने के लिए, विजेता-मोड नामक एक बहुत उपयोगी पुस्तकालय है । यह आपको अपने विंडो कॉन्फ़िगरेशन में पूर्ववत और फिर से परिवर्तन करने देता है।

इसलिए विजेता मोड को सक्षम करें M-x winner-mode, और फिर कॉल करने के बाद C-x 1, आप C-c leftविंडो कॉन्फ़िगरेशन में परिवर्तन को पूर्ववत् करने के लिए दबा सकते हैं, खिड़कियों को वापस सेट कर सकते हैं कि वे क्या थे।

यदि आप विजेता-मोड को स्थायी रूप से सक्षम करना चाहते हैं, तो (winner-mode)अपनी इनिट फ़ाइल में डालें ।


7

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

(defvar window-split-saved-config nil)

(defun window-split-toggle-one-window ()
  "Make the current window fill the frame.
If there is only one window try reverting to the most recently saved
window configuration."
  (interactive)
  (if (and window-split-saved-config (not (window-parent)))
      (set-window-configuration window-split-saved-config)
    (setq window-split-saved-config (current-window-configuration))
    (delete-other-windows)))

आप C-x 1इसे राज्यों को टॉगल करने के लिए उसी कुंजी का उपयोग कर सकते हैं।


1

मैं वेब से कॉपी किए गए निम्न का उपयोग करता हूं। यह आपके वर्तमान विंडो कॉन्फ़िगरेशन को छोड़ने का एक त्वरित तरीका है। आप exit-recursive-editवापस पाने के लिए उपयोग करने के बाद।

;; http://www.emacswiki.org/emacs/RecursiveEditPreservingWindowConfig    
;; inspired by Erik Naggum's `recursive-edit-with-single-window'

(defmacro recursive-edit-preserving-window-config (body)
  "*Return a command that enters a recursive edit after executing BODY.
 Upon exiting the recursive edit (with\\[exit-recursive-edit] (exit)
 or \\[abort-recursive-edit] (abort)), restore window configuration
 in current frame."
  `(lambda ()
     "See the documentation for `recursive-edit-preserving-window-config'."
     (interactive)
     (save-window-excursion
       ,body
       (recursive-edit))))

(global-set-key (kbd "C-c 0") (recursive-edit-preserving-window-config (delete-window)))
(global-set-key (kbd "C-c 1") (recursive-edit-preserving-window-config
                               (if (one-window-p 'ignore-minibuffer)
                                   (error "Current window is the only window in its frame")
                                 (delete-other-windows))))
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.