Я использую Magit для работы с git в emacs. Я привязал магический статус к ключу, но каждый раз, когда я нажимаю клавишу, он открывается в расколе в нижней половине окна, и мне нужно нажать C-x 1, чтобы получить его в полном окне. Как я могу открыть его в полном окне по умолчанию?
Как открыть магический статус в полном окне
Ответ 1
(setq magit-status-buffer-switch-function 'switch-to-buffer)
или с помощью настройки:
M-x customize-variable
RET magit-status-buffer-switch-function
RET
Ответ 2
Вот еще один способ добиться этого:
(add-to-list 'same-window-regexps "\*magit: .*\*")
Ответ 3
Я использую это:
(defun my-magit-status ()
"Don't split window."
(interactive)
(let ((pop-up-windows nil))
(call-interactively 'magit-status)))
Ответ 4
Это решение имеет то преимущество, что вы можете убить полноэкранный буфер в стиле 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-mode-quit-window
в magit-quit-window
.
Ответ 5
Внимание! Более новые версии magit используют эту функцию, 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)))))
Ответ 6
Другой вариант - настроить переменную display-buffer-alist
.
Если вы хотите всего magit
, вы можете сделать это:
(customize-set-variable
'display-buffer-alist
'(("\\*magit: .*" display-buffer-same-window)))