emacs magit

emacs - Cómo abrir magit-status en ventana completa



(7)

Estoy usando Magit para trabajar con git en emacs. He enlazado el estado de Magit a una tecla, pero cada vez que presiono la tecla se abre en una división en la mitad inferior de la ventana y tengo que presionar Cx 1 para obtener una ventana completa. ¿Cómo puedo hacer que se abra en una ventana completa de forma predeterminada?


¡Nota! Las nuevas versiones de magit usan la función, magit-display-buffer-function , y esto puede ser aprovechado para obtener el mismo comportamiento. El siguiente fragmento de código le dará la recompensa deseada de Magit a pantalla completa.

(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)))))


Aquí hay otra manera de lograr esto:

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


Esta solución tiene la ventaja de que puede eliminar el búfer de pantalla completa en el estilo de 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)

Si tiene una versión anterior de Magit, es posible que deba cambiar el nombre de magit-mode-quit-window a magit-quit-window .


Otra opción es personalizar la variable display-buffer-alist .

Si todo lo que quieres es magit , puedes hacer esto:

(customize-set-variable ''display-buffer-alist ''(("//*magit: .*" display-buffer-same-window)))


Para las versiones más recientes de magit, puede usar este fragmento de código sanctioned :

(setq magit-display-buffer-function #''magit-display-buffer-fullframe-status-v1)

Combino esto para obtener un estado de git de ventana completa similar a zen después de cambiar proyectos:

(setq projectile-switch-project-action ''magit-status)


Yo uso esto:

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


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

o vía personalizar:

Mx customize-variable RET magit-status-buffer-switch-function RET