2012-06-21 9 views
11

पर emacs रंगों को संरक्षित करने के लिए मैं रिकॉर्ड के लिए ओएसएक्स बर्फ तेंदुए का उपयोग कर रहा हूं।नियमित टर्मिनल से gnu स्क्रीन

जब मैं टर्मिनल से सीधे ईमैक्स का उपयोग करता हूं, तो मेरे पास एक रंग सेट होता है (उदाहरण के लिए सी/सी ++) कि मैं काले, लाल टिप्पणियों, रंगीन कुंजी शब्द आदि पर हरे रंग से बहुत खुश हूं। इनमें से कुछ मेरी 'टर्मिनल वरीयताओं' में सेट है, और कुछ मेरी ~/.emacs फ़ाइल में हैं (नीचे देखें)। जब मैं स्क्रीन से emacs चलाता हूं, मूल रंग-योजना समान होती है (काला पर हरा), लेकिन रंग अलग है (उदा। टिप्पणी वर्ण लाल हैं, लेकिन पूरी टिप्पणियां नहीं) - और वास्तव में कष्टप्रद।

किसी भी मदद की सराहना की जाएगी!

मेरे '.emacs' फ़ाइल में (इस gnu स्क्रीन Emacs में काम बंद हो जाता है):

(global-font-lock-mode t) 
(custom-set-faces 
'(font-lock-comment-face 
    ((((class color) (background light)) 
    :foreground "tomato") 
    ))) 

मेरे '.screenrc' फ़ाइल में:

shell -$SHELL   # colors still don't work without this 
#term xterm-256color # using this doesn't fix the colors (suggested on some forums) 

altscreen on 
startup_message off 

मैंने सोचा था कि आदेश ' शेल - $ SHELL 'मेरी .screenrc फ़ाइल में स्क्रीन में कमांड प्रॉम्प्ट को डिफ़ॉल्ट के समान बनाया गया --- यह करता है मेरी कमांड लाइन' computername:/DIR/username $ 'बस' bash-3.2 $ '

================================================ =================

समाधान: धन्यवाद ग्रेग ई

को मैं से मेल करने के लिए स्क्रीन में अपने टर्मिनल एमुलेटर स्थापित करने के लिए की जरूरत है मेरी सामान्य खोल ऐसा करने के लिए, मैं

export TERM='xterm-color' 
~/.bash_profile

करने के लिए

जोड़ा किसी कारण, '~/.screenrc' फाइल में 'शब्द टर्म रंग' के लिए काम नहीं किया।

+1

नोट: मैक ओएस एक्स 10.7 शेर और बाद में, 'xterm-color' का उपयोग करने की अनुशंसा नहीं की जाती है। यह xterm की एक पुरानी शाखा का प्रतिनिधित्व करता है। शेर में, टर्मिनल आधुनिक xterm के साथ पर्याप्त संगत है कि आपको 'xterm-256color' (डिफ़ॉल्ट) या भिन्नता का उपयोग करना चाहिए, उदाहरण के लिए,' xterm-16color'। –

+0

टिप @ChrisPage – DilithiumMatrix

उत्तर

7

मेरा संदेह यह है कि, जबकि आपका टर्मिनल मानक 16 रंगों से अधिक के लिए समर्थन के साथ संकलित किया जा सकता है, तो आपका जीएनयू स्क्रीन का विशेष संस्करण नहीं हो सकता है। मैं ओएसएक्स से बहुत परिचित नहीं हूं, लेकिन लिनक्स पर मैं जांचता हूं कि tput colors का आउटपुट एक सादे टर्मिनल और एक चलने वाली स्क्रीन के बीच अलग है (अगर मुझे tput उपलब्ध नहीं है तो मैं कुछ ओएसएक्स समतुल्य होने की अपेक्षा करता हूं)। यदि ऐसा होता है, तो आपको स्क्रीन के एक अलग निर्माण को स्थापित करने (या मैन्युअल रूप से संकलित) करने की आवश्यकता हो सकती है जिसमें अतिरिक्त रंगों के लिए समर्थन शामिल है (आमतौर पर, 256 अधिकतम है, लेकिन 88 भी आम है, जबकि 16 डिफ़ॉल्ट न्यूनतम है)।

संपादित करें: आखिरकार, सही समाधान मैन्युअल रूप से $TERM पर्यावरण चर सेट करने के लिए साबित हुआ (नीचे टिप्पणियां देखें)।

+1

के लिए धन्यवाद दिलचस्प विचार; मैंने 'ट्यूट कलर' (जो काम करता है) की कोशिश की, और यह नियमित टर्मिनल और स्क्रीन दोनों में '8' का जवाब दिया ....: – DilithiumMatrix

+0

@ ज़ेरम्स, '$ TERM' का वर्तमान मूल्य क्या है और आप टर्मिनल एमुलेटर क्या हैं का उपयोग करते हुए? 8 का आउटपुट आपके टर्मिनल का मतलब है, क्योंकि यह वर्तमान में कॉन्फ़िगर किया गया है, 8 बेस एएनएसआई रंगों (और उनके उज्ज्वल/बोल्ड समकक्षों, कुल 16 बनाने के अलावा) के अलावा किसी अन्य चीज़ के लिए समर्थन नहीं है। इसलिए, 'टमाटर" जैसे रंग को बुद्धिमानी से लाल रंग में हल किया जाएगा।यदि संभव हो, तो 256-रंग समर्थन के साथ 'xterm' इंस्टॉल करने पर विचार करें। इसके अलावा, [यह पृष्ठ] (http://www.frexx.de/xterm-256-notes/) सहायक हो सकता है। आप अलग-अलग '$ TERM' मानों को सेट करने का प्रयास कर सकते हैं और देख सकते हैं कि 'tput रंग' आउटपुट बदलता है या नहीं। –

+0

दिलचस्प ... इसके बारे में मेरा संदेह यह है कि वे दोनों '8' कहते हैं, जबकि एकमात्र समस्या उनमें से एक में है। तो शायद 'टमाटर' को बदलने के लिए अलग-अलग एल्गोरिदम हैं? 'echo $ TERM' उपज "xterm-color" पैदा करता है, और जब मैं स्क्रीन में ऐसा करता हूं तो यह केवल 'स्क्रीन' कहता है ... यहां मैं अपना गूंगा दिखाता हूं, मैंने सोचा कि मैं * टर्मिनल का उपयोग कर रहा था, एक एमुलेटर नहीं । ? – DilithiumMatrix

संबंधित मुद्दे