बफ़र्स स्विच करते समय, स्वचालित रूप से स्विचिंग फ़्रेम से emacs को रोकें


13

जब मैं बफ़र्स स्विच करता हूं, तो ईएमएसी एक मौजूदा फ्रेम पर स्विच कर देगा यदि बफर वहां पहले से ही खोला गया है।

मैंने पाया कि ईदो के साथ स्विच करते समय इसे कैसे रोका जाए:

(setq ido-default-buffer-method 'selected-window)

लेकिन यह पर्याप्त नहीं है: छूट के लिए यदि एक लिस्प त्रुटि है तो स्वचालित रूप से बफर * बैकट्रेस * पर स्विच हो जाएगा, और यदि यह पहले से ही खुला है तो फ्रेम स्विच करेगा।

क्या किसी मौजूदा फ्रेम में जाने से पूरी तरह से ईएमएसी को रोकने का कोई तरीका है?

जवाबों:


3

इसके लिए कोई विकल्प नहीं दिखता है।

समारोह एक बफर को खोजने के लिए करता है आप सभी फ्रेम में या केवल वर्तमान फ्रेम में देखने के लिए तय करने के लिए अनुमति देते हैं:

(get-buffer-window &optional BUFFER-OR-NAME ALL-FRAMES)

हालांकि, तर्क के switch-to-bufferलिए पास 0 का कार्यान्वयन ALL-FRAMES, जिसका अर्थ है कि यह सभी फ़्रेमों में दिखेगा।

मुझे लगता है कि आप उस तर्क को बदलने के लिए :aroundसलाह का उपयोग कर सकते हैं get-buffer-window, अगर आप वास्तव में विश्व स्तर पर इस व्यवहार को रोकना चाहते थे ... लेकिन मुझे संदेह है कि अन्य चीजों को तोड़ देगा।


यही मुझे डर था। मैं गेट-बफर-विंडो के आसपास ऐड-सलाह की कोशिश कर सकता हूं, लेकिन मैं व्यापक रूप से उपयोग किए जाने वाले कार्यों की सलाह देने का शौकीन नहीं हूं।
महाशय बयाना

हाँ, परेशानी पैदा होने की संभावना है। आप popwinविशेष बफ़र्स से निपटने के तरीके के रूप में पैकेज की जांच करना चाह सकते हैं - यह निश्चित नहीं है कि अगर आपके पास पहले से ही मौजूद आईडीओ कॉन्फ़िगरेशन पर्याप्त है या नहीं।
ग्लूकोज

1
दरअसल, मैं शायद यहां नाव से चूक गया हूं। आपको Window चुनना विंडो ’और Funct डिस्प्ले एक्शन फ़ंक्शंस’ पर Emacs मैनुअल सेक्शन पर एक नज़र डालनी चाहिए। विशेष रूप से, का उपयोग inhibit-switch-frameउपयोगी लगता है। (मुझे अभी तक इन विकल्पों के साथ प्रयोग करने का मौका नहीं मिला है।)
ग्लूकास

इन्हें भी देखें: emacs.stackexchange.com/questions/2194/…
ग्लूकोज

धन्यवाद, कि एसई धागा बहुत मददगार है। के लिए प्रलेखन display-bufferऔर display-buffer-alistमेरे सिर को चोट पहुंचाता है, लेकिन यह केवल समय का सवाल है जब तक मुझे कोई समाधान नहीं मिलता है।
महाशय
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.