2011-02-08 9 views
5

मैं वास्तव में रंग का manpages जो अपने .bashrc या .zshrc में सेtcsh के साथ रंगीन manpages?

export LESS_TERMCAP_mb=$'\E[01;31m' 
export LESS_TERMCAP_md=$'\E[01;31m' 
export LESS_TERMCAP_me=$'\E[0m' 
export LESS_TERMCAP_se=$'\E[0m' 
export LESS_TERMCAP_so=$'\E[01;44;33m' 
export LESS_TERMCAP_ue=$'\E[0m' 
export LESS_TERMCAP_us=$'\E[01;32m' 

हासिल कर रहे हैं कर सकते हैं की तरह। मेरा सवाल है: मैं इन चरों को tcsh में कैसे निर्यात करूं? मुझे काम पर टीसीएसएच का उपयोग करना है और इसे काम नहीं कर सकता है। मैंने कई बदलावों की कोशिश की, लेकिन कुछ भी काम नहीं किया। बस setenv और = के साथ निर्यात को प्रतिस्थापित करना "" चाल नहीं करता है। लेकिन इसे किसी भी तरह से काम करना चाहिए। अगर मैं इस निर्यात सेट के साथ अपने जेएसएच से टीसीएच शुरू करता हूं तो मैं टीसीएस में रंगीन पट्टियों का भी आनंद ले सकता हूं। लेकिन यह एक बदसूरत कामकाज है।

+1

आप शायद होंगे superuser.com – dotalchemy

उत्तर

4

समस्या यह है कि टीसीएस आपके परिवर्तनीय नाम में भागने अनुक्रम की व्याख्या नहीं कर रहा है, इसलिए जब आप इसे टीसीएस के साथ सेट करने का प्रयास करते हैं तो पर्यावरण परिवर्तक एक शाब्दिक \E के साथ समाप्त होता है। इधर, एक तरह से आप कुछ मिल सकता है, भागने दृश्यों की व्याख्या करने बैश का उपयोग कर, हालांकि यह एक छोटे से बदसूरत है:

% setenv LESS_TERMCAP_md `bash -c 'echo -en "\e[01;31m"'` 
% setenv LESS_TERMCAP_me `bash -c 'echo -en "\e[0m"'` 
% setenv LESS_TERMCAP_se `bash -c 'echo -en "\e[0m"'` 
% setenv LESS_TERMCAP_so `bash -c 'echo -en "\e[01;44;33m"'` 
% setenv LESS_TERMCAP_ue `bash -c 'echo -en "\e[0m"'` 
% setenv LESS_TERMCAP_us `bash -c 'echo -en "\e[01;32m"'` 
+0

पर यह पूछने से रोकें मैं सहमत हूं, यह थोड़ा बदसूरत है, लेकिन यह काम करता है। हालांकि, मैंने प्रश्न की स्थिति को खुलने दिया, शायद हमें मूल समाधान मिल जाए। – skorgon

+1

आप बैश का उपयोग किए बिना ऐसा कर सकते हैं ('echo_style' की सेटिंग के आधार पर। –

6

रास्ता tcsh को यह जो निवासी है क्या करने के लिए और अलग अलग टर्मिनल प्रकार के लिए पोर्टेबल है उपयोग करने के लिए है echotc builtin आदेश:

setenv LESS_TERMCAP_mb `echotc md; echotc AF 1` 
setenv LESS_TERMCAP_md `echotc md; echotc AF 1` 
setenv LESS_TERMCAP_me `echotc me` 
setenv LESS_TERMCAP_se `echotc me` 
setenv LESS_TERMCAP_so `echotc md; echotc AF 3; echotc AB 4` 
setenv LESS_TERMCAP_ue `echotc me` 
setenv LESS_TERMCAP_us `echotc md; echotc AF 2` 

termcap कोड और रंग कोड के लिए man 5 terminfo देखें।

mdenter_bold_mode
me है exit_attribute_mode
AFset_a_foreground
AB है set_a_background

वैसे है, बैश में ऐसा करने के लिए, बाहरी उपयोगिता tput और terminfo क्षमता नामों का उपयोग है:

export LESS_TERMCAP_mb=$(tput bold; tput setaf 1) 
export LESS_TERMCAP_md=$(tput bold; tput setaf 1) 
export LESS_TERMCAP_me=$(tput sgr0) 
export LESS_TERMCAP_se=$(tput sgr0) 
export LESS_TERMCAP_so=$(tput bold; tput setaf 3; tput setab 4) 
export LESS_TERMCAP_ue=$(tput sgr0) 
export LESS_TERMCAP_us=$(tput bold; tput setaf 2) 
संबंधित मुद्दे