मैं आदमी को छोड़ने के बाद भी 'मैन' टेक्स्ट कैसे देख सकता हूं?


16

मैं आमतौर पर tcsh या bash का उपयोग करता हूं और अक्सर कमांड के विकल्पों की समीक्षा करने के लिए 'आदमी' का उपयोग करना चाहता हूं। वर्तमान में जब मैं आदमी या ctrl-C छोड़ता हूं, तो मैन टेक्स्ट गायब हो जाता है और मुझे स्क्रॉलबैक बफर दिखाई देता है जो मैंने 'मैन' कमांड को करने से पहले किया था। मैं अब भी 'मैन' टेक्स्ट देख सकता हूं जिसे मैं एक संदर्भ के रूप में देख रहा था, जबकि मैं कमांड प्रॉम्प्ट पर दूसरी विंडो खोले बिना कमांड टाइप कर रहा हूं, मैं यह कैसे कर सकता हूं?

जवाबों:


17

यह व्यवहार कुछ (हार्डवेयर) टर्मिनलों और सबसे (सॉफ्टवेयर) टर्मिनल एमुलेटर में शामिल "वैकल्पिक स्क्रीन" सुविधा से आता है। क्या होता है कि कुछ टर्मिनल-जागरूक प्रोग्राम अपना काम करने के लिए वैकल्पिक is स्क्रीन ’पर स्विच करते हैं और जब वे खारिज कर दिए जाते हैं तो सामान्य are स्क्रीन’ पर वापस आ जाते हैं (छोड़ दिया, निलंबित, आदि)। यह प्रभावी रूप से ऐसे कार्यक्रमों के अंतिम आउटपुट को दूर करता है।

"टर्मफॉस्ट को रोकने के लिए अल्टस्क्रीन" के लिए एक वेब खोज ने एक पृष्ठ प्रदान किया जो वैकल्पिक स्क्रीन 'समस्या' और कई समाधानों पर चर्चा करता है

जैसा कि लिंक किए गए पृष्ठ का वर्णन है, कुछ कार्यक्रमों को वैकल्पिक स्क्रीन का उपयोग करने से बचने के लिए कॉन्फ़िगर किया जा सकता है। कम-X करने का विकल्प यह करने का एक अप्रत्यक्ष तरीका है। विम को उसी तरह और वेरिएबल को अनइंस्टॉल करके कॉन्फ़िगर किया जा सकता है ।t_tit_te


एक व्यापक गुंजाइश के साथ एक समाधान संपादित करने के लिए है terminfo अपने टर्मिनल इतना है कि यह वैकल्पिक स्क्रीन नियंत्रण दृश्यों शामिल नहीं है के लिए प्रवेश। टर्मफ़ॉफ़्ट प्रविष्टियाँ एक डेटाबेस बनाती हैं जो प्रोग्राम को बताती हैं जो कुछ प्रभावों को बनाने के लिए एक टर्मिनल को भेजने के लिए दृश्यों को नियंत्रित करते हैं (कर्सर को स्थानांतरित करना, स्क्रीन को साफ़ करना, वर्तमान लाइन का हिस्सा मिटाना, आदि)। आपके टर्मिनल का उपयोग करने वाले टर्मोइफ़ प्रविष्टि का संपादन करके, आप सभी टर्म-उपयोग प्रोग्रामों को 'उपेक्षा' करने की व्यवस्था कर सकते हैं जो "वैकल्पिक स्क्रीन" नियंत्रण अनुक्रम भी मौजूद हैं।

से के लिए नियंत्रण दृश्यों की सूची टर्म , हम देख सकते हैं कि ब्याज (के लिए के नियंत्रण दृश्यों टर्म टर्मिनल emulators की तरह) कर रहे हैं

  • वैकल्पिक स्क्रीन सक्षम करें: ESC [ ? 47 h(इसी तरह 1047 और 1049), और
  • सामान्य स्क्रीन को पुनर्स्थापित करें: ESC [ ? 47 l(इसी तरह 1047 और 1049)।

ये कोड सबसे अधिक संभावित रूप से टर्मोफ चर में मौजूद हैं smcupऔर rmcup। आपके वर्तमान TERM के लिए इन चर को एक्साइज करने का एक त्वरित और गंदा तरीका इस तरह दिखाई दे सकता है:

infocmp | sed -e 's/[sr]mcup=[^,]*,//' > /tmp/noaltscreen-terminfo
tic -o ~/.terminfo/ /tmp/noaltscreen-terminfo

यह विधि काफी कच्चा है और निश्चित रूप से सभी टर्मिनलों के लिए काम नहीं करेगा, लेकिन यह संभवत: अधिकांश एक्सटर्म -समान टर्मिनल एमुलेटर के लिए काम करेगा । आदर्श रूप से आपको अपने टर्मिनल के लिए टर्मो एंट्री के मूल्यों smcupऔर rmcupचर की जांच करनी चाहिए और अवांछित व्यवहार को रोकने के लिए उन्हें रूढ़िवादी रूप से संपादित करना चाहिए। उपरोक्त लिंक किए गए चर्चा / समाधान पृष्ठ में एक "प्री-कूक" टर्मोफ़ फाइल है जिसे आप अपने खुद के हैक करने के बजाय उपयोग कर सकते हैं (लेकिन इसमें मज़ा क्या है?)।



9

अपना पेजर मानकर less, LESS"X" को शामिल करने के लिए पर्यावरण चर सेट करें । उदाहरण के लिए मेरा है:

LESS="-iMFXRj4a"

आप इसे अपनी ~/.bashrcफ़ाइल में सेट कर सकते हैं

export LESS="-X"

और आपके द्वारा दिए गए किसी भी अन्य विकल्प को शामिल करें या जो आप पसंद करते हैं उसे जोड़ें।


4

एक और चाल - अन्य उत्तरों की तुलना में कम सुरुचिपूर्ण - है:

man what | more

(कम से कम, यह मैकओएस एक्स पर काम करता है, जो आमतौर पर मान्य होने के लिए पर्याप्त समान है।)


1

आदमी क्या | अधिक

यह ठीक काम करता है (फेडोरा)।

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