Як змусити певний буфер відкриватися в новому вікні?


12

Здійснюючи зміни в Magit, корисно відкрити перегляд diff, додаючи подробиці про фіксацію.

У Magit ми бачимо різницю в *magit ..*буфері. Коли ви натискаєте, ccпоки курсор знаходиться у поетапному файлі, .. COMMIT_EDITMSGз'являється буфер Magit фіксації . За замовчуванням цей новий буфер замінює *magit ..*буфер, який показував фіксацію, відрізняється.

ЗАПИТАННЯ - Як зробити .. COMMIT_EDITMSGбуфер відкритим у новому вікні (повторно використовувати інше вікно або створити нове вікно, якщо для кадру було лише 1 вікно для початку), щоб я міг бачити *magit ..*і .. COMMIT_EDITMSGбуфери, і буфери?


Відповіді:


17

Можна налаштувати, як буфер відкривається (в одному кадрі / вікні або іншому кадрі / вікні), використовуючи 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параметрами, коли a CONDITIONє істинним. Баночка 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)як ми не хочемо , щоб цей буфер , щоб відкрити в одному вікні.

Список літератури


2

Починаючи з v2.1.0Magit за замовчуванням показує зміни, які здійснюються поряд із буфером, який використовується для написання повідомлення про фіксацію.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.