2012-02-24 14 views
19

मैं मैकिट का उपयोग emacs में गिट के साथ काम करने के लिए कर रहा हूं। मैंने एक कुंजी पर मैजिट-स्टेटस बाध्य किया है, लेकिन हर बार जब मैं कुंजी दबाता हूं तो यह विंडो के निचले हिस्से में विभाजित होता है और मुझे इसे पूर्ण विंडो में लाने के लिए सी-एक्स 1 हिट करना पड़ता है। डिफ़ॉल्ट रूप से मैं इसे पूर्ण विंडो में कैसे खोल सकता हूं?पूर्ण विंडो में magit-status कैसे खोलें

उत्तर

24
(setq magit-status-buffer-switch-function 'switch-to-buffer) 

या अनुकूलित के माध्यम से:

एम एक्सcustomize-variableआरईटीmagit-status-buffer-switch-functionआरईटी

+4

ध्यान दें कि वर्तमान MAGIT साथ, नए बफर व्यवहार 'MAGIT-प्रदर्शन-बफर-function' द्वारा नियंत्रित किया जाता। –

+0

https://github.com/magit/magit/issues/1953 –

2

मैं इस का उपयोग करें:

(defun my-magit-status() 
    "Don't split window." 
    (interactive) 
    (let ((pop-up-windows nil)) 
    (call-interactively 'magit-status))) 
2

यह समाधान फायदा है कि आप कर सकते हैं quit-window शैली में पूर्ण स्क्रीन बफर मारने:

(defadvice magit-status (around magit-fullscreen activate) 
    (window-configuration-to-register :magit-fullscreen) 
    ad-do-it 
    (delete-other-windows)) 

(defadvice magit-mode-quit-window (after magit-restore-screen activate) 
    "Restores the previous window configuration and kills the magit buffer" 
    (jump-to-register :magit-fullscreen)) 

(define-key magit-status-mode-map (kbd "q") 'magit-mode-quit-window) 

आप MAGIT के एक पुराने संस्करण है तो आप magit-quit-window को magit-mode-quit-window नाम बदलने की आवश्यकता हो सकती है।

(add-to-list 'same-window-regexps "\*magit: .*\*")

6

यहाँ एक और तरीका इस लक्ष्य को हासिल करने के लिए है! मैगिट के नए संस्करण फ़ंक्शन का उपयोग करते हैं, magit-display-buffer-function, और यह वही व्यवहार प्राप्त करने के लिए उपयोग किया जा सकता है। निम्नलिखित स्निपेट आपको वांछित, पूर्णस्क्रीन, मैगिट बक्षीस देगा।

(defun display-buffer-full-screen (buffer alist) 
    (delete-other-windows) 
    (set-window-dedicated-p nil nil) 
    (set-window-buffer nil buffer) 
    (get-buffer-window buffer)) 

(setq magit-display-buffer-function 
     (lambda (buffer) 
     (if magit-display-buffer-noselect 
      (magit-display-buffer-traditional buffer) 
      (display-buffer buffer '(display-buffer-full-screen))))) 
0

एक और विकल्प परिवर्तनीय display-buffer-alist को अनुकूलित करना है।

यदि आप केवल इतना चाहते हैं magit है, तो आप ऐसा कर सकते हैं:

(customize-set-variable 
    'display-buffer-alist 
    '(("\\*magit: .*" display-buffer-same-window))) 
संबंधित मुद्दे