มันเป็นไปได้ที่จะกำหนดค่าว่าบัฟเฟอร์เปิด (ในเฟรมเดียวกัน / หน้าต่างหรือกรอบแตกต่างกัน / หน้าต่าง) 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)
ในขณะที่เราไม่ต้องการบัฟเฟอร์นี้เพื่อเปิดในหน้าต่างเดียวกัน
อ้างอิง