2012-10-06 17 views
6

क्या आपके पास फॉलो-मोड में व्यवहार जैसा व्यवहार करने का कोई तरीका है लेकिन इसे अलग-अलग फ़्रेम में एकाधिक विंडो में रखना है?फ्रेम पर emacs फॉलो-मोड

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

अधिक कोड मैं एक बार में देख सकता हूं, बेहतर।

+2

यह सीमा दो कारणों से मौजूद है: 1) कोई प्राकृतिक "पहला फ्रेम" नहीं है, इसलिए विंडोज़ की सामग्री को व्यवस्थित करने के क्रम में फॉलो-मोड के लिए यह मुश्किल होगा। 2) यह उपयोगकर्ता को कई फ्रेम खोलने की अनुमति देता है, प्रत्येक बफर के विभिन्न हिस्सों को प्रदर्शित करता है। आप एक बड़े फ्रेम का उपयोग क्यों नहीं करते - मेरा छह मॉनिटर्स में फैला हुआ छह कॉलम चौड़ा है, जो मुझे कुल 888 लाइनें देता है। – Lindydancer

उत्तर

3

यह प्रतिबंध next-window पर कॉल में follow-all-followers द्वारा स्पष्ट रूप से सेट किया गया है।

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

मैं यह भी सुझाव दूंगा कि FrameMove विंडमोव के साथ इस व्यवस्था के लिए बहुत उपयोगी साबित हो सकता है।

(defmacro with-temporary-advice (function class name &rest body) 
    "Enable the specified advice, evaluate BODY, then disable the advice." 
    `(progn 
    (ad-enable-advice ,function ,class ,name) 
    (ad-activate ,function) 
    ,@body 
    (ad-disable-advice ,function ,class ,name) 
    (ad-activate ,function))) 

(defadvice next-window (before my-next-window-all-frames disable) 
    "Enforce the ALL-FRAMES argument to `next-window'." 
    (ad-set-arg 2 'visible)) 

(defadvice follow-all-followers (around my-follow-all-frames activate) 
    "Allow `follow-mode' to span frames." 
    (with-temporary-advice 
    'next-window 'before 'my-next-window-all-frames 
    ad-do-it)) 

इसके बजाय आप बस आप क्या चाहते करने के लिए follow-all-followers समारोह को फिर से परिभाषित करने के लिए पसंद कर सकते हैं।

+0

यह शुरू करने के लिए एक अच्छी जगह का प्रतिनिधित्व करता है। धन्यवाद। – Ishpeck

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