एक Emacs विंडो को नए फ्रेम में विभाजित करना


3

एक फ्रेम से पहले फ्रेम दो Emacs खिड़कियों से युक्त, जीत-एक बफर प्रदर्शित buf-एक और जीत-दो प्रदर्शित buf-दो , मैं 'ब्रेक' करने में सक्षम होना चाहते हैं जीत-दो बंद अपने स्वयं के फ्रेम में, शायद का उपयोग कर मॉडल पर एक संशोधक-क्लिक करें। इसके बाद,

  • दोनों को जीतने के लिए एक और जीत-दो अपनी व्यक्तिगत ऊंचाई / चौड़ाई और बफर संघों वे जब में था बनाए रखने होगा पहला फ्रेम
  • जीत-एक एक ही पहले-फ्रेम में रहेगा , और जीत-दो अब एक नए, अलग - अलग फ्रेम में होगा
  • मूल स्थिति, रंग और फ़ॉन्ट सेटिंग्स को जहां संभव हो, रखा जाएगा

मैं सोच रहा था कि क्या यह व्यवहार मानक पुस्तकालय में कहीं उपलब्ध था, अगर इसके लिए एक विस्तार था, या शायद एक छोटा सा कार्य होगा?

जवाबों:


1

हां, ऐसी आज्ञा है mouse-tear-off-window:। मैं इसे C-mouse-1मोड लाइन पर बाँधता हूँ :

(global-set-key [mode-line C-mouse-1] 'mouse-tear-off-window)

आदेश वेनिला Emacs ( emacs -Q) में उपलब्ध है । लेकिन मैं इसके अपने संस्करण का उपयोग करता हूं, जो खिड़की को हटा नहीं देता है यदि यह अपने फ्रेम में अकेला है। इसके बजाय, यह फ्रेम और विंडो को क्लोन करता है। वह संस्करण लाइब्रेरी माउस + .el में है । डॉक्टर स्ट्रिंग:

,----
| mouse-tear-off-window is an interactive compiled Lisp function in
| `mouse+.el'.
| 
| It is bound to mode-line C-mouse-1.
| 
| (mouse-tear-off-window EVENT)
| 
| Create a new frame displaying buffer of window clicked on.
| If window is not the only one in frame, then delete it.
| Otherwise, this command effectively clones the frame and window.
`----

यह मेरे अनुरोध के काफी करीब है कि मुझे लगता है कि मैं इसे अन्य फ्रेम गुणों को संरक्षित करने के लिए बढ़ा सकता हूं।
user38983

1

यह एक डिफ़ॉल्ट बाइंडिंग है:

C-x 5 C-o : display-buffer-other-frame

जो करता है: दूसरे फ्रेम में बफर बफर प्रदर्शित करें।


0

आप उपयोग कर सकते हैं:

M-x new-frame

मैंने इसे F9उदाहरण के लिए बाध्य किया है :

(global-set-key (kbd "<f9>") 'new-frame)

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