2013-01-08 15 views
9

मैं अपने टर्मिनल रंग करने के लिए इस कोड है:तोड़ लाइन को ठीक

export PS1="\e[1;30m\][\e[\e[1;30m\]\e[1;33m\] \[email protected]\H \[\e[1;32m\]\w\[\e[0m\] \e[1;30m\]]\n[\[ \e[1;31m\]\T\[\e[0m\]\e[1;30m\] ] > \e[37m\]" 

लेकिन मैं एक समस्या है, जब पाठ नई लाइन में होना चाहिए यह पहली पंक्ति अधिलेखित कर देता है, किसी की मदद कर सकते हैं मुझे ठीक इस ?

उदाहरण: http://cl.ly/image/3P2p3N2b0T14

धन्यवाद

उत्तर

12

बैश के लिए आदेश में यह पता लगाने के लिए कितना स्क्रीन स्थान आपके शीघ्र तक ले जाता है (और इसलिए जहां वास्तविक कमांड लाइन शुरू होता है), तो आप गैर संलग्न करने के लिए है \[...\] में प्रॉम्प्ट के प्रिंटिंग पार्ट्स। अधिकतर, इसका मतलब है कि \e[1;30m जैसे बचने के अनुक्रमों को \[\e[1;30m\] के रूप में लिखा जाना चाहिए। आपके पास आपके \[ और \] आपके प्रॉम्प्ट में हैं, लेकिन वे गलत जगहों पर हैं, जो बहुत परेशान हैं। परिसर के रूप तुम्हारा तुच्छ नहीं है के रूप में एक शीघ्र के सभी मुद्रण और गैर मुद्रण भागों ढूँढना है, लेकिन मैं यह यह सही हो जाता है लगता है:

export PS1='\[\e[1;30m[\e[\e[1;30m\e[1;33m\] \[email protected]\H \[\e[1;32m\]\w\[\e[0m\] \[\e[1;30m\]]\n[ \[\e[1;31m\]\T\[\e[0m\e[1;30m\] ] > \[\e[37m\]' 
+0

मैं एक ही समस्या थी, उनका कहना है कि यदि आप कभी भी है की जरूरत के लिए धन्यवाद गैर-प्रिंटिंग भाग '\ ['...' \] ' – pbojinov

+0

शानदार - पीएस 1 में रंगीन भागने के दृश्यों के बिना' \ ['और' \] 'के साथ, जैसा कि आप बताते हैं, कर्सर की स्थिति सिंक हो जाती है खोल इतिहास में पिछले आदेश का चयन करने के लिए ऊपर तीर का उपयोग करना। –

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