मैं एक नई विंडो में खोलने के लिए एक विशिष्ट बफर को कैसे मजबूर कर सकता हूं?


12

मैगिट में परिवर्तन करते समय, कमिट के बारे में विवरण जोड़ते समय खुले दृश्य को देखना उपयोगी होता है।

मैगिट में, हम *magit ..*बफर में अंतर देखते हैं । जब आप मारा ccजबकि कर्सर एक पर है मंचन फ़ाइल, MAGIT प्रतिबद्ध बफ़र .. COMMIT_EDITMSGपॉप अप। डिफ़ॉल्ट रूप से, यह नया *magit ..*बफ़र उस बफर को बदल देता है जो कमिट को दिखा रहा था।

प्रश्न - मैं .. COMMIT_EDITMSGनई विंडो में बफ़र को कैसे खोल सकता हूँ (किसी भिन्न विंडो का पुनः उपयोग करें या यदि एक नई विंडो बनाएँ तो फ्रेम की शुरुआत के लिए सिर्फ १ विंडो थी) ताकि मैं दोनों *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साथ (या कार्यों की सूची) कहता है। के रूप में प्रतिनिधित्व किया जा सकता है,ALISTCONDITIONdisplay-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.0मैगिट के साथ डिफ़ॉल्ट रूप से शुरू करना उन परिवर्तनों को दर्शाता है जो प्रतिबद्ध संदेश लिखने के लिए उपयोग किए जाने वाले बफर के साथ किए जा रहे हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.