स्क्रोल व्हील पर कम पेजर कैसे बनाएं और स्क्रीन को साफ न करें


13

मुझे जवाब के बारे में पता है कि कैसे-से-माउस-व्हील-स्क्रॉल-द-कम-पेजर-यूज़िंग-बैश-एंड-ग्नोम-टर्मिनल , जो -X$ LESS पर्यावरण चर से ध्वज को निकालना है । लेकिन मैं इन दोनों को करना चाहूंगा :

  1. पेजर को स्क्रॉल करने के लिए माउस व्हील का उपयोग करें (टर्मिनल विंडो के स्क्रॉलबार पर स्क्रॉल करने के विपरीत) (जो आपको हटाने -X से मिलता है $LESS)
  2. पेजर से सामग्री को छोड़ने के बाद स्क्रीन पर बने रहें (जो कि सामान्य रूप से जोड़कर पूरा किया -Xजाता है $LESS)।

क्या कोई ऐसा तरीका है जिससे मैं अपना केक बना सकूं और उसे खा सकूं?

जवाबों:


20

कम सोर्स कोड हैक किए बिना नहीं। पृष्ठभूमि की कहानी का एक सा:

कम माउस (स्क्रॉल ईवेंट सहित) बिल्कुल भी नहीं संभाल सकता।

टर्मिनल एमुलेटर तथाकथित वैकल्पिक स्क्रीन का समर्थन करते हैं। यह वह है जो अधिकांश फ़ुलस्क्रीन ऐप अपनी अवधि के लिए स्विच करते हैं (और जब वे निकलते हैं तो सामान्य स्क्रीन पर वापस स्विच करते हैं, जिससे पिछली सामग्री "बहाल" हो जाती है), और इसमें स्क्रॉलबैक बफर नहीं है। कम भी इस वैकल्पिक स्क्रीन पर स्विच करता है, जब तक -Xकि यह किस मामले में नहीं दिया जाता है।

कई टर्मिनल एमुलेटर यह पता लगाते हैं कि जब यह वैकल्पिक स्क्रीन मोड में है और अंदर चल रहे एप्लिकेशन को माउस ईवेंट में रुचि नहीं है, तो स्क्रॉलिंग को अप या डाउन कीपर ईवेंट में बदलना समझ में आता है। यह एक हैक है, और यह सामान्य स्क्रीन पर या तो हानिकारक होगा (कल्पना करें कि आपके शेल प्रॉम्प्ट में क्या होगा), या जब एप्लिकेशन माउस को हैंडल करना चाहता है (निश्चित रूप से, उन्हें वास्तविक माउस ईवेंट तब देखना होगा)। लेकिन जब से आप चल रहे हैं less, तब तक इन दोनों में से कोई भी डिफ़ॉल्ट रूप से नहीं है , यह हैक में किक करता है (टर्मिनल एमुलेटर के अधीन इसका समर्थन करता है, और \e[?1007hबनाम के रूप में सक्षम है)\e[?1007l)। आपकी स्क्रॉल ईवेंट को टर्मिनल एमुलेटर द्वारा अप और डाउन कीपर में परिवर्तित किया जाता है, और उन्हें वास्तविक कीपर्स से अलग नहीं किया जा सकता है। यह माउस स्क्रॉल ईवेंट प्राप्त नहीं करता है: यह अप और डाउन कीपेस को देखता है।

तो वहाँ आप हैं: या तो आप वैकल्पिक स्क्रीन पर स्विच करते हैं और टर्मिनल की हैक स्क्रॉल घटनाओं को कम के लिए कीपर में बदल देती है, और जब आप बाहर निकलते हैं तो सामान्य स्क्रीन को पुनर्स्थापित किया जाता है; या आप नहीं करते हैं, और फिर किसी भी जादू को स्क्रॉल घटनाओं को कीपेस में परिवर्तित नहीं किया जा सकता है और स्क्रॉल घटनाओं को कम नहीं समझता है।

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

व्यवहार में, यह मूल रूप से उबलता है: क्षमा करें, इसे भूल जाओ।


0

जाहिरा तौर पर कम 530 या नए में अपग्रेड करने से आपको वांछित सुविधा मिलेगी,

http://www.greenwoodsoftware.com/less/news.530.html

ये संस्करण 487 और संस्करण 530 के बीच अंतर हैं:

अगर एक स्क्रीन पर -F और फ़ाइल फिट बैठता है, तो टर्मिनल टर्मिनल init अनुक्रम का उपयोग न करें।

किसी भी 'कम' पीपीए को नया संस्करण नहीं मिला, इसलिए केवल स्रोत पैक डाउनलोड करें और स्थानीय रूप से बनाएं और इसे स्थापित करें।

और इस तरह git कॉन्फ़िगर करें:

git config --global core.pager 'less -F -S -R -i -+X'

अधिक जानकारी: "-X" के बिना "कम-एफ" का उपयोग कैसे करें, लेकिन फिर भी केवल एक पृष्ठ पर आउटपुट प्रदर्शित करें?


0

कम पेजर में स्क्रॉल करने के लिए माउस व्हील का उपयोग करना वास्तव में संभव नहीं है, लेकिन w3m पेजर के साथ सामग्री को स्क्रॉल करने के लिए माउस व्हील का उपयोग करना संभव है! w3m एक " डब्ल्यूडब्ल्यूडब्ल्यू ब्रोसेबल पेजर है जिसमें उत्कृष्ट टेबल / फ्रेम सपोर्ट है ", इसलिए इसे कंसोल वेब ब्राउज़र के रूप में उपयोग करना संभव है। इसके अलावा, कंसोल इमेज व्यूअर के रूप में w3m का उपयोग करना संभव है (सभी टर्मिनल एमुलेटर के साथ काम नहीं कर रहा है, लेकिन xterm के साथ बहुत अच्छा काम करता है)। w3m " में टेबल, फ्रेम, एसएसएल कनेक्शन, कलर और इनलाइन इमेज के लिए सपोर्ट है "। बहुत उपयोगी अनुप्रयोग! स्क्रीनशॉट

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