2012-10-01 16 views
5

मुझे लगभग 8 या उससे अधिक के स्क्रॉल मार्जिन पसंद हैं। इसका मतलब यह है कि जब कर्सर शीर्ष या नीचे की 8 पंक्तियों के भीतर हो जाता है तो बफर स्क्रॉल करना शुरू कर देगा। हालांकि, यह योजना एशेल और ansi-term buffers, isql buffers, या किसी भी REPL बफर के साथ अच्छी तरह से काम नहीं करती है जो कोई Emacs के साथ उपयोग कर सकता है। इनमें से किसी भी बफर में, जब कोई कुछ करता है, तो यह तुरंत बफर को स्क्रॉल करता है ताकि बफर और इनपुट लाइन के नीचे 8 लाइनें हों, जिससे किसी भी टर्मिनल जैसी किसी भी टर्मिनल जैसी किसी भी चीज़ को सबसे खराब, अजीब रूप से अजीब बना दिया जा सके। स्थिति के आधार पर, emacs में बफर।Emacs, चिकनी स्क्रॉलिंग, स्क्रॉल-मार्जिन और eshell

कोई बफर स्क्रॉल-मार्जिन चर को पहचानने के लिए प्रतीत नहीं होता है जब तक कि यह वैश्विक न हो। इसलिए जब मैं वैरिएबल को विभिन्न मानों में हुक के साथ अलग-अलग मानों पर सेट कर सकता हूं, तो यह मेरे सभी खुले बफर को प्रभावित करता है।

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

क्या इस समस्या का कोई समाधान है, अन्य बफर के लिए 0, वैश्विक रूप से स्क्रॉल-मार्जिन रखने के अलावा?

+3

क्या आप अपने हुक में [बफर स्थानीय चर] (http://www.gnu.org/software/emacs/manual/html_node/elisp/Buffer_002dLocal-Variables.html#Buffer_002dLocal-Variables) का उपयोग कर रहे हैं? – rwb

+0

नहीं! ऐसा लगता है। स्क्रॉल-मार्जिन कार्यों पर मेक-लोकल-वेरिएबल का उपयोग करना। मुझे सही दिशा बताने के लिए धन्यवाद! – Jones

उत्तर

8

उत्तर में टिप्पणी को परिवर्तित करना। हुक में buffer local variable का उपयोग करें।

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