यह कॉन्फ़िगर करना संभव है कि कैसे एक बफर खुलता है (उसी फ्रेम / विंडो या एक अलग फ्रेम / विंडो का उपयोग करके) 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
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)
क्योंकि हम नहीं चाहते कि यह बफर उसी विंडो में खुले।
संदर्भ