2010-11-22 11 views
5

मेरे पास emacs अधिक या कम व्यवहार कर रहा है, मैं इसे इस सामान्य बिट का उपयोग करके कैसे करना चाहता हूं:Emacs में थके हुए मोड के लिए समर्पित खिड़की?

(defun toggle-current-window-dedication() 
(interactive) 
(let* ((window (selected-window)) 
     (dedicated (window-dedicated-p window))) 
    (set-window-dedicated-p window (not dedicated)) 
    (message "Window %sdedicated to %s" 
      (if dedicated "no longer " "") 
      (buffer-name)))) 

(global-set-key [pause] 'toggle-current-window-dedication) 

दुर्भाग्यवश, डाइर्ड बफर नाम के लिए निर्देशिका का उपयोग करता है, इसलिए एक थका हुआ विंडो समर्पित करना केवल उस निर्देशिका को समर्पित करता है । एक बार जब आप ऊपर या नीचे नेविगेट करते हैं, तो यह एक अलग विंडो में एक नया बफर खोलता है। मैं जो करना चाहता हूं वह एक विंडो को एक प्रमुख मोड (इस मामले में डाला गया) समर्पित करता है, और उस नए डिफर्स को उस मोड में डिफ़ॉल्ट रूप से उस विंडो को पसंद करते हैं। क्या यह संभव है?

उत्तर

4

dired-single के साथ संयोजन में अपने कोड का उपयोग का प्रयास करें देख रहे हैं, प्रदान करता है *dired* नामक एक बफर। पूर्ण प्रकटीकरण के हित में, मैंने dired-single लिखा था।

+0

धन्यवाद जो, मैं यही देख रहा था! –

+0

दुर्भाग्यवश, 'डायर-सिंगल' उसी विंडो में फ़ाइलों को '* थका हुआ * 'बफर के रूप में खोलता है। हालांकि यह निर्देशिकाओं के लिए बिल्कुल सही है, लेकिन यह अच्छा होगा अगर फ़ाइलों को 'डायर-फाइंड-फाइल-अन्य-विंडो' के साथ माना जा सके ... – hupf

3

set-window-dedicated-p एमाक्स को उस बफर के लिए केवल उस विंडो को दिखाने के लिए मजबूर करता है, अन्य डायर बफर एक ही विंडो का उपयोग नहीं कर सकते हैं।

`प्रदर्शन-बफर '(* टिप्पणी खिड़की का चयन:: *info* page for set-window-dedicated-p देखें :) उस में एक और बफर प्रदर्शित करने के लिए एक समर्पित खिड़की का उपयोग करता है कभी नहीं।

शायद DiredReuseDirectoryBuffer के लिए विकी पृष्ठ पर संकुल में से एक है जो सभी dired नेविगेशन के भीतर हो कारण होगा कार्यक्षमता आप के लिए ...

+0

धन्यवाद, ट्रे। मैं नए बफर खोले जाने से रोकने के लिए थका हुआ-खोज-वैकल्पिक फ़ाइल का उपयोग कर रहा हूं, और मैंने थके हुए बफर के लिए एक ही विंडो-रेगेक्सप्स सेट अप किया है। यह मुझे 9 0% बनाता है जहां मैं बनना चाहता हूं, लेकिन अन्य बफर अभी भी मेरी थका हुआ खिड़की (सहायता, समापन, आदि) में खुल सकते हैं। अगर मुझे elisp की बेहतर समझ हो तो मैं इसमें एक नया बफर खोलने से पहले एक खिड़की में डाले जाने के लिए एक रेगेक्सपी मैच लगाऊंगा। :) –

संबंधित मुद्दे