2011-01-17 6 views
10

मेरे लिस्प-वर्किंग-एनवायरनमेंट में फ्रेम दो खिड़कियों में विभाजित है, मुख्य कोडिंग के लिए पूर्व, बाद में मेरे कीचड़ मूल्यांकन के लिए।मैं अपने विंडोज़ का आकार बदलकर इमाक्स को कैसे रोक सकता हूं?

दुर्भाग्यवश, जब मैंने कुछ गलतियां कीं (कारण मैं अभी भी लिस्प सीख रहा हूं: पी) कीचड़ डीबगर मुझे चेतावनी देता है, और ऐसा करने से यह नीचे की खिड़की में दिखाई देता है जो स्वचालित रूप से आकार बदलता है। बस अधिक स्पष्ट होने के लिए:

से पहले:

_______ 
|  | 
|  | 
_______ 
|_____| 

के बाद:

_______ 
|  | <- decreased in size! 
_______ 
|_____| <- increased in size! 

मैं अपने विंडोज़ का आकार बदलने Emacs कैसे रोक सकते हैं? मैं चाहता हूं कि इमाक्स मेरी खिड़की के आकार को छोड़ दें।

मैं इसे कैसे पूरा कर सकता हूं?

धन्यवाद! अलविदा!

अल्फ्रेडो

+5

नोट: एक मरने वाले Emacs उपयोगकर्ता 'एम-एक्स कलाकार' का उपयोग करके खींचा होगा। : पी –

+1

वाह ... कलाकार-मोड ... मुझे नहीं पता था कि इस तरह के एक साफ छोटे खिलौने को Emacs में बनाया गया था ... धन्यवाद Trey! –

उत्तर

8

आप कमांड एम एक्स खिड़की-विन्यास करने के लिए रजिस्टर शुरुआत में (या सी-एक्स आर डब्ल्यू) का उपयोग कर अपने खिड़की विन्यास याद कर सकते हैं।

एम-एक्स कूद-टू-रजिस्टर (या सी-एक्स आर जे) का उपयोग करके आप हमेशा अपनी कॉन्फ़िगरेशन को पुनर्स्थापित कर सकते हैं।

+0

सभी के लिए धन्यवाद, यह उस चीज़ के सबसे नज़दीक है जिसे मैं ढूंढ रहा था। मैं ईसीबी (एमएक्स कोड ब्राउज़र) के साथ भ्रमित होने के कारण विजेता मोड का उपयोग नहीं कर सकता, लेकिन खिड़की-कॉन्फ़िगरेशन-टू-रजिस्टर गंदे काम को प्राप्त करता है :) –

4

कुछ कोड आप कॉल बदलता है, तो खिड़की विन्यास आप (बचाने के लिए खिड़की-भ्रमण शरीर ...)

के साथ अपने कोड लपेट कर सकते हैं यह डिबगर कि विन्यास को बदल देता है - "q" मारा और पुरानी विन्यास दोबारा शुरू किया जाएगा।

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

5

दुर्भाग्य मुख्य कमान pop-to-buffer, जो एक अलग विंडो में एक बफर करने के लिए स्विच करने के लिए Emacs में लगभग हर कार्यक्रम के द्वारा प्रयोग किया जाता है, पक्ष प्रभाव आप वर्णित है।

अब तक अन्य सभी समाधानों के लिए एडिशन में, winner mode है जो किसी भी समय विंडो कॉन्फ़िगरेशन में किसी भी बदलाव को पूर्ववत/दोबारा करने के लिए है।

+1

विजेता-मोड टिप के लिए अपवित्र, विजेता-मोड अद्भुत है। – monotux

2

winner-mode एक lifesaver है, लेकिन pop-to-buffer पहली जगह में विंडो का आकार बदलने नहीं बनाने के लिए,

(setq even-window-heights nil) 
1

खिड़की सिकुड़ अक्षम करने के लिए करते हैं, shrink-window-if-larger-than-buffer नो-सेशन की जरूरत है। आप इसे कुछ भी करने के लिए बस परिभाषित नहीं कर सकते हैं, लेकिन यदि आप इसे सलाह देते हैं, तो आपको इच्छानुसार इसे सक्षम और अक्षम करने की क्षमता मिलती है।

;; never shrink windows 
(defvar allow-window-shrinking nil 
    "If non-nil, effectively disable shrinking windows by making `shrink-window-if-larger-than-buffer' a no-op.") 
(advice-add 'shrink-window-if-larger-than-buffer 
      :before-while 
      (lambda (&rest args) 
       "Do nothing if `allow-window-shrinking' is nil." 
       allow-window-shrinking)) 

आप अन्य कार्यों कि फोन shrink-window-if-larger-than-buffer सक्षम या सिकुड़ने निष्क्रिय करने के लिए सलाह दे सकते हैं:

(advice-add 'some-function-that-resizes-windows 
      :around 
      (lambda (orig &rest args) 
       "enable shrinkage" 
       (let ((allow-window-shrinking t)) 
       (apply orig args)))) 

मैं कोड है कि अनिवार्य रूप से ऊपर था के एक पुराने टुकड़ा था, और मैं ignore-errors कुछ के लिए (apply orig args) के चारों ओर लिपटा था भूल गए कारण, लेकिन शायद यह सार्वभौमिक रूप से आवश्यक नहीं है।

एनबी। यह नई सलाह एपीआई का उपयोग करता है, जिसे Emacs 24.4 में जोड़ा गया था। पुरानी सलाह एपीआई एक ही चीज को अलग सिंटैक्स के साथ कर सकती है यदि आपको पुराने एमैक्स संस्करण का उपयोग करने की आवश्यकता है।

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