2009-11-05 10 views
26

Emacs का उपयोग इतना लंबा नहीं है (v23, windows) और अभी एम-एक्स ediff खोजा गया। बहुत खुबस। हालांकि मैं इस तथ्य पर उत्सुक नहीं हूं कि यह एक अलग फ्रेम/विंडो में अपनी सहायता/नेविगेशन खोलता है, जिसका अर्थ है कि अगर मैं उस विंडो पर ध्यान केंद्रित करता हूं, तो एकल कुंजी शॉर्टकट काम नहीं करते हैं।क्या एडिफ़ को बाहरी विंडो में अपना नेविगेशन इंटरफ़ेस नहीं खोलने का कोई तरीका है?

उदाहरण के लिए जैसे ही मैं दबाता हूं? खिड़की का विस्तार करने के लिए, यह मेरी वर्तमान विंडो के शीर्ष पर बदल जाता है, इसलिए मुझे अपना माउस चुनना है और उसे दूसरी स्क्रीन पर ले जाना है। फिर यदि मैं उस विंडो पर ध्यान केंद्रित करता हूं और पी/n/जे या diff के साथ काम करने के लिए कोई अन्य कुंजी दबाता है, तो यह इसे मेरे दस्तावेज़ में सम्मिलित करता है। तो मुझे पूर्ववत करना है, माउस पकड़ना है, दूसरी खिड़की पर ध्यान देना है, और दोहराना है।

क्या इन विकल्पों को कॉन्फ़िगर करने के लिए इन विकल्पों को कॉन्फ़िगर करने का कोई तरीका है?

+0

हम्म, शायद मैं अधीर हो रहा हूं और इस सवाल को थोड़ा जल्दी से पूछा। यदि खिड़की का विस्तार नहीं किया गया है और स्क्रीन के ऊपरी दाएं कोने में प्रारंभिक स्थिति में रहता है, तो यह वास्तव में उन सभी को घुसपैठ नहीं करता है। – Rob

+0

सहमत - यह बुरा नहीं है। 'हिट' भी मारा फिर से और यह वापस shrinks। और Emacs में आपका स्वागत है। इसके साथ मिलकर होने के कारण वर्षों से मेरे लिए पैसा बनाने वाला रहा है। –

उत्तर

27

मुझे नहीं पता था कि यह कैसे करना है, लेकिन आमतौर पर Emacs के साथ सीखना आसान होता है। सबसे पहले मैं ediff अनुकूलन के बारे में पूछा:

M-x customize-apropos 
ediff 

मैंने देखा कि वहाँ कुछ Ediff विंडो सेटअप समारोह कहा जाता है जो मान बहु फ्रेम, भी फ्रेम, या अन्य समारोह लेता है। मेरा मल्टी फ़्रेम पर सेट किया गया था और इसे एकल फ्रेम में बदल दिया गया और इसे भविष्य के सत्रों के लिए सहेजा गया। और वोला! जैसा कि वे कहीं कहते हैं।

+0

'एम-एक्स कस्टमाइज़-एप्रोपोस 'को Emacs 25.1 में एडिफ़ के लिए कुछ भी नहीं मिला। 'एम-एक्स कस्टमाइज़-ग्रुप आरईटी एडिफ आरईटी' ने किया। – GergelyPolonkai

19
सीधे शब्दों में

:

(setq ediff-window-setup-function 'ediff-setup-windows-plain) 

एम एक्स का वर्णन-चर ediff खिड़की-सेटअप-समारोह आप आगे प्रबुद्ध।

संदर्भ के लिए मेरी ediff अनुकूलन काफी सरल है:

(if (locate-library "ediff") 
    (progn 
     (autoload 'ediff-files "ediff") 
     (autoload 'ediff-buffers "ediff") 

     (eval-after-load "ediff" '(progn 
       (message "doing ediff customisation") 
       (setq diff-switches    "-u" 
       ediff-custom-diff-options "-U3" 
       ediff-split-window-function 'split-window-horizontally 
       ediff-window-setup-function 'ediff-setup-windows-plain) 

       (add-hook 'ediff-startup-hook 'ediff-toggle-wide-display) 
       (add-hook 'ediff-cleanup-hook 'ediff-toggle-wide-display) 
       (add-hook 'ediff-suspend-hook 'ediff-toggle-wide-display))))) 
13

Ediff उपयोगकर्ता के मैनुअल में अध्याय Window and Frame Configuration से:

निम्न चर नियंत्रण कैसे खिड़कियों स्थापित कर रहे हैं:

ediff-window-setup-function

मल्टीफ़्रेम सेटअप ediff-setup-windows-multiframe फ़ंक्शन द्वारा किया जाता है, जो विंडोिंग डिस्प्ले पर डिफ़ॉल्ट है। सादा सेटअप, एक जहाँ सभी खिड़कियां एक फ्रेम में हमेशा से रहे, ediff-setup-windows-plain, जो एक गैर विंडोइंग प्रदर्शन (या एक xterm विंडो में) पर डिफ़ॉल्ट है द्वारा किया जाता है। वास्तव में, Emacs के तहत, आप स्वतंत्र रूप से क्रियान्वित करने आदेश ediff-toggle-multiframe मेनू बार की Minibuffer का उपयोग करके स्विच कर सकते हैं इन दोनों के बीच सेटअप ।

6
(custom-set-variables  
    ... 
'(ediff-window-setup-function (quote ediff-setup-windows-plain)) 
    ...) 
नहीं

आप इस तरह से चर सेट होता है कि है, लेकिन यह आप इन बातों को पता करने के लिए अनुमति देता है:

  • चर आप रुचि रखते हैं है में ediff-window-setup-function
  • मूल्य यह करने की जरूरत है ediff-setup-windows-plain
  • पर आप चर को कॉन्फ़िगर कर सकते हैं: M-x customize-group RET ediff-window

    Ediff विंडो सेटअप समारोह: मेनू भी फ्रेम

2

नोट: यदि आप माउस का उपयोग एम एक्स अन्य फ्रेम का उपयोग करके वापस ediff नियंत्रण विंडो पर जाने के लिए बच सकते हैं। सी-एक्स 5 ओ पर भी मिला।

0

यह नहीं रह गया है खिड़कियों

(setq ediff-window-setup-function 'ediff-setup-windows-plain) ; stopped working 

पर 2017 जीएनयू Emacs (24.5, 25.2, 2017) में काम करता है यहां तक ​​कि

ediff-toggle-multiframe ; no longer has any effect now. 

यह खिड़कियों पर emacs22.3 में काम करता है, तो मैं पुराने का उपयोग करें 2008 से emacs!

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

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