Можно настроить способ открытия буфера (в том же кадре / окне или в другом кадре / окне), используя display-buffer-alist. Обратитесь к ссылкам ниже, чтобы узнать больше об этой переменной.
Решение
Мы должны указать emacs всегда открывать буферы, оканчивающиеся COMMIT_EDITMSGокном, но не в том же ( *magit ..*) окне.
Добавьте следующий фрагмент кода init.elпосле, (require 'magit)чтобы указать это действие.
(add-to-list 'display-buffer-alist
'(".*COMMIT_EDITMSG". ((display-buffer-pop-up-window) .
((inhibit-same-window . t)))))
Разбивка решения
display-buffer-alistэто alistтот, который вызывает FUNCTION(или список функций) с ALISTпараметрами, когда значение CONDITIONравно true. display-buffer-alistМожет быть представлена в виде,
'(CONDITION . (FUNCTION . ALIST))
- Вот
CONDITION, что имя буфера заканчивается COMMIT_EDITMSGи что представлено ".*COMMIT_EDITMSG".
FUNCTIONНа вызов , display-buffer-pop-up-windowкак мы хотим , чтобы создать окно для этого буфера. Вместо того, чтобы указывать функцию отдельно, она помещается в виде списка отдельной функции, (display-buffer-pop-up-window)так что в будущем при необходимости можно будет легко добавить больше функций в список.
ALISTСодержит , (inhibit-same-window . t)как мы не хотим , чтобы этот буфер , чтобы открыть в одном окне.
Ссылки