क्षैतिज स्क्रॉलिंग को अक्षम कैसे करें
मैंने एक समाधान लिखा है जो क्षैतिज स्क्रॉलिंग को निष्क्रिय करता है, ( @ ророславРахматуллин के सुझाव को रोककर ), लेकिन मुझे नहीं लगता कि आप इसे पसंद करने जा रहे हैं:
augroup NoScrollPlease
autocmd!
autocmd CursorMoved * norm!99zH
augroup END
यह सिर्फ फिर से वापस स्क्रॉल करने की अविश्वसनीय रूप से सटीक विधि द्वारा दाईं ओर स्क्रॉल करने से रोकता है। *
* क्योंकि मैं नहीं जानता कि आपने कितनी दूर तक दाईं ओर स्क्रॉल किया है या आपकी लाइनें कितनी लंबी हैं, मैं 99 "स्क्रीन" चौड़ाई की मनमानी "दूर" राशि को स्क्रॉल कर रहा हूं। ध्यान दें कि मैं यह जांचने के लिए परेशान नहीं हूं कि आपने वास्तव में बाईं ओर "वापस" स्क्रॉल करने से पहले दाईं ओर स्क्रॉल किया है या नहीं। आप वास्तव में इस समाधान का उपयोग करना चाहते हैं तो आप के मूल्यों की तुलना द्वारा कुछ दस्तक करना चाह सकते हैं getcurpos()
, 'sidescroll'
और 'columns'
।
आप ऐसा क्यों नहीं करना चाहते हैं
कारण यह है कि आप इसका उपयोग नहीं करने जा रहे हैं कि स्क्रॉलिंग समस्या अंतर्निहित एक और मुद्दा है: विम आपको कर्सर को "ऑफ स्क्रीन" स्थानांतरित नहीं करने देगा। इसलिए, यदि आप बाईं ओर स्क्रॉल इस तरह से करते हैं कि स्क्रॉल के बाद कर्सर स्क्रीन से बाहर हो जाएगा, तो विम सहायक कर्सर को अपने साथ लाता है और इसे बाईं ओर ले जाता है।
लेकिन क्योंकि यह गणना है कि स्क्रीन पर कर्सर का उपयोग किया जा रहा है या नहीं, यह वही है जो यह तय करने के लिए उपयोग कर रहा है कि मूल समस्या में स्क्रॉल करना है या नहीं, शुद्ध प्रभाव यह है कि इस "समाधान" के साथ, यदि आप स्थानांतरित करने का प्रयास करते हैं ऐसी स्थिति में दाएं तरफ कर्सर जो सामान्य रूप से बग़ल में स्क्रॉल करने का कारण होगा, अब कर्सर बिल्कुल भी स्थानांतरित करने से इनकार करता है। **
** वर्तमान स्थिति और चाल के आधार पर, थोड़ा और अधिक सटीक होने के लिए, कर्सर सही दिशा में आगे बढ़ सकता है; यह सिर्फ उस स्थिति को पार नहीं करेगा जहां एक स्क्रॉल सामान्य रूप से होगा।
अन्य विकल्प?
इसलिए मुझे डर है कि आपका नियोजित वर्कआउट पैन करने के लिए नहीं है। यदि आप एक चाहते हैं व्यावहारिक सामान्य समस्या का हल है, यह विम स्रोत कोड में लागू करने की जरूरत है जा रहा है।
जैसा कि आप पहले ही नोट कर चुके हैं , यह जल्द ही किसी भी समय तक पहुंचने की संभावना नहीं है, इसलिए मुझे आपके जीआईएफ में दिखाए गए मुद्दे के विशिष्ट उदाहरण के लिए वर्कअराउंड के लिए आपकी सबसे अच्छी शर्त से डर लगता है कि प्लगइन लेखक को conceal
पूरी तरह से और इसके बजाय उपयोग को रोकने के लिए याचिका करना है पूरी तरह से बफर से छिपे हुए पाठ को हटा दें।
साफ़ उत्पादन और का उल्लेख के आधार पर vim-plugin-AnsiEsc
में प्रलेखन इस सकता है कुछ उन्हें लागू करने के लिए यह संभव है, लेकिन यह कैसे प्लगइन कार्यों के ज्ञान के बिना निश्चित रूप से कह मुश्किल है।
:set wrap