Wie erzwinge ich das Öffnen eines bestimmten Puffers in einem neuen Fenster?


12

Wenn Sie Änderungen in Magit festschreiben, ist es hilfreich, die Diff-Ansicht geöffnet zu haben, während Sie Details zum Festschreiben hinzufügen.

In Magit sehen wir den Unterschied im *magit ..*Puffer. Wenn Sie drücken, ccwährend sich der Cursor auf einer Staged- Datei befindet, wird der Magit-Festschreibungspuffer .. COMMIT_EDITMSGangezeigt. Standardmäßig ersetzt dieser neue Puffer den *magit ..*Puffer, in dem die Festschreibungsdifferenzen angezeigt wurden.

FRAGE - Wie .. COMMIT_EDITMSGöffne ich den Puffer in einem neuen Fenster (verwende ein anderes Fenster erneut oder erstelle ein neues Fenster, wenn der Rahmen zu Beginn nur 1 Fenster hatte), damit ich sowohl den *magit ..*als auch den .. COMMIT_EDITMSGPuffer sehen kann?


Antworten:


17

Es ist möglich zu konfigurieren, wie ein Puffer geöffnet wird (im selben Frame / Fenster oder in einem anderen Frame / Fenster) display-buffer-alist. Weitere Informationen zu dieser Variablen finden Sie in den nachstehenden Referenzen.

Lösung

Wir müssen Emacs anweisen, immer Puffer zu öffnen, die COMMIT_EDITMSGin einem Fenster enden, aber nicht in demselben ( *magit ..*) Fenster.

Fügen Sie das folgende Snippet zum init.elafter hinzu (require 'magit), um diese Aktion anzugeben.

(add-to-list 'display-buffer-alist
                 '(".*COMMIT_EDITMSG". ((display-buffer-pop-up-window) .
                                        ((inhibit-same-window . t)))))

Aufschlüsselung der Lösung

display-buffer-alistist ein alistAufruf von a FUNCTION(oder einer Liste von Funktionen) mit ALISTParametern, wenn a CONDITIONwahr ist. Die display-buffer-alistkann dargestellt werden als,

'(CONDITION . (FUNCTION . ALIST))
  • Hier CONDITIONendet der Puffername mit COMMIT_EDITMSGund wird durch dargestellt ".*COMMIT_EDITMSG".
  • Der FUNCTIONAufruf ist, display-buffer-pop-up-windowwie wir ein Fenster für diesen Puffer erstellen möchten. Anstatt die Funktion selbst anzugeben, wird sie als Liste einer einzelnen Funktion (display-buffer-pop-up-window)eingefügt, sodass bei Bedarf in Zukunft problemlos weitere Funktionen zur Liste hinzugefügt werden können.
  • Das ALISTenthält, (inhibit-same-window . t)da wir nicht möchten, dass dieser Puffer im selben Fenster geöffnet wird.

Verweise


2

v2.1.0Wenn Sie standardmäßig mit Magit beginnen, werden die Änderungen neben dem Puffer angezeigt, der zum Schreiben der Festschreibungsnachricht verwendet wird.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.