टर्मिनल में क्षैतिज स्क्रॉलिंग


12

इसलिए मेरा मानना ​​है कि इस पर पहले से ही 2 प्रश्न हैं। उन सभी के साथ क्या करना है tail -fऔर इसलिए लोग "कम उपयोग" के स्पर्श का जवाब देते हैं।

मुझे हर चीज, हर कमांड आदि के लिए इसकी आवश्यकता है। समस्या यह है कि मुझे बहुत सारे कंसोल विंडो को चलाने की आवश्यकता है और यहां तक ​​कि कई मॉनिटरों को अभी भी नीचे की ओर सिकोड़ने की आवश्यकता है। परिणाम के रूप में बस हर उत्पादन के बारे में लाइन लपेटकर और पढ़ने के लिए अजीब है।

एक सुझाव दिया समाधान है echo -ne '\e[?7l', जो काम करता है, कुछ हद तक। अब समस्या यह है कि क्या कंसोल पर बार को स्क्रॉल करने का कोई तरीका है?

Ubuntu 12.10, टर्मिनल


एक उदाहरण के रूप में (सभी के जवाब में "यह है कि टर्मिनल कैसे काम करता है" टिप्पणी!) मैं विंडोज के लिए उबंटू कंसोल को इंगित करता हूं इस सुविधा का समर्थन करता है। जैसे अनुप्रयोग lsऔर mceditइसमें ठीक काम करते हैं, क्योंकि स्क्रीन की चौड़ाई और बफर चौड़ाई को अलग-अलग संभाला जाता है।
cz

जवाबों:


10

आप जो पूछ रहे हैं वह अनंत चौड़ाई का एक टर्मिनल है, जिसका एक हिस्सा प्रदर्शित किया जा रहा है। यह नहीं है कि टर्मिनल पारंपरिक रूप से कैसे काम करते हैं और न ही आवेदन कैसे उनसे काम करने की अपेक्षा करते हैं।

उदाहरण के लिए, यदि टर्मिनल में अनंत चौड़ाई है, तो दृश्य अनुप्रयोगों को कैसे काम करना है जब वे स्क्रीन के बीच में कुछ प्रदर्शित करना चाहते हैं?

कुछ ऐसा जो आप जीएनयू का उपयोग करते हुए कर सकते हैं screen(आप विभिन्न आकारों के कई टर्मिनलों से एक स्क्रीन सत्र संलग्न करने में सक्षम होने के लिए सक्षम हैं, इसलिए स्क्रीन एक बड़े टर्मिनल की एक छोटी खिड़की प्रदर्शित करना जानता है) और screenकुछ के लिए खिड़कियों की चौड़ाई सेट करें बहुत बड़ी और फिर दृश्य अनुप्रयोगों को यह सोचकर कि स्क्रीन की चौड़ाई मूल है।

जैसे (भीतर screen)

c=$COLUMNS # assuming your shell has that variable
screen -X width -w 1000
stty cols "$c"

कुछ दृश्य अनुप्रयोग ठीक काम करेंगे, कुछ ठीक से नहीं (जब वे सापेक्ष स्थिति करते हैं या जब वे टर्मिनल रैपिंग पर भरोसा करते हैं तो स्थापित करें)। vimठीक काम करने लगता है।

तब स्क्रॉल और डेटा पेस्ट कॉपी करने के लिए, केवल विकल्प का उपयोग करने के लिए है screenकी प्रतिलिपि मोड। ( <prefix>]) और कर्सर के चारों ओर ले जाएं ( कॉपी मोड info -f screen -n Movementमें चारों ओर घूमने के लिए देखें )।

tmux समान क्षमताएं हो सकती हैं।

यह terminatorटर्मिनल एमुलेटर (जावा आधारित), जो terminatorकि ubuntu के साथ नहीं आता है , वह भी अनंत टर्मिनल चौड़ाई के साथ करता है:

  • रेखाएँ कभी नहीं लपेटी जाती हैं
  • दृश्य अनुप्रयोगों को बताया जाता है कि स्क्रीन की चौड़ाई खिड़की में जो भी फिट हो, अनंत नहीं है।
  • यह screenऊपर दिए गए समाधान की तुलना में बेहतर काम करेगा कि इसकी समाप्ति प्रविष्टि का दावा है कि यह लाइन रैप नहीं करता है इसलिए एप्लिकेशन इसके बारे में जानते हैं, और लाइन के प्रारंभ में बीएस पिछली पंक्ति के अंत में नहीं जाता है।

मैं पहले से ही एक गुई माहौल में हूं, अगर मैं एक दृश्य संपादक में एक फ़ाइल खोलना चाहता हूं तो मैं टर्मिनल से एक गुई लॉन्च कर सकता हूं। यह उन में कॉपी करना आसान है, वैसे भी यह एक टर्मिनल में है, क्योंकि आप वास्तव में आसानी से एक टर्मिनल में एक ब्लॉक का चयन नहीं कर सकते इसे कटऑफ से बाहर खींचें। रनिंग screen -X width -w 1000रिटर्न No screen session found., कोई विचार?
srcspider

@srcspider जैसा कि मैंने कहा, आपको भीतर ऐसा करने की जरूरत है screenscreenपहले शुरू करो ।
स्टीफन चेज़लस

ओके मुझे लगता है कि मैं आपको अभी मिल जाता हूं, मूल रूप से मुझे चलना चाहिएscreen -X width -w 1000 <mycommand>
srcspider

1
@srcspider। नंबर screenएक टर्मिनल आधारित टर्मिनल एमुलेटर है। इसलिए आपको इसे पहले शुरू करने की आवश्यकता है जैसे आपको कमांड चलाने से पहले xtermया gnome-terminalपहले शुरू करना होगा screen। फिर, उस नए टर्मिनल एमुलेटर के अंदर, आप उस screen -Xकमांड को चलाते हैं ताकि screenउसकी विंडो की चौड़ाई को बदल सकें। terminatorएमुलेटर के लिए मेरा संपादित उत्तर भी देखें, जो मुझे संदेह है कि आप पसंद करेंगे।
स्टीफन चेज़लस

धन्यवाद! यहां तक ​​कि अगर किसी तरह मैं उन्हें काम करने के लिए नहीं मिलता है, तो कम से कम अब मुझे पता है कि मैं उन्हें इस तरह काम करने के लिए क्यों नहीं मिल सकता।
srcspider

6

जबकि Emacs मुख्य रूप से एक संपादक और IDEac है, यह आपकी समस्या से बहुत अच्छी तरह से मेल खाता है। आप एक Emacs विंडो के अंदर एक प्रोग्राम चला सकते हैं, और Emacs इसे अनंत चौड़ाई और ऊंचाई के डंब टर्मिनल में प्रदर्शित करता है। यदि कर्सर बफर के अंत में है, तो विंडो स्क्रॉल करेगा क्योंकि प्रोग्राम आउटपुट का उत्पादन करता है; अगर आप कर्सर को इधर-उधर करते हैं, तो आउटपुट बढ़ते ही विंडो बंद रहेगी।

Emacs बफर में एक शेल शुरू करने के लिए M-x shell RET(यानी Alt+ x shell Return) टाइप करें । टाइप C-u M-x shell RETया M-1 M-x shell RETदूसरा शेल शुरू करने के लिए। आप प्रत्येक शेल में एक प्रोग्राम चला सकते हैं और अपनी इच्छानुसार कई विंडो में बफ़र्स को व्यवस्थित कर सकते हैं।

Said यह कभी-कभी संपादक की तुलना में बेहतर ओएस कहा जाता है, लेकिन केवल उन लोगों द्वारा जो इसका उपयोग नहीं करते हैं - यह सिर्फ एक मजाक है।

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