Bash Ctrl-A लाइन की शुरुआत में लौटता है लेकिन उचित रूप से प्रदर्शित नहीं होता है


6

जब मैं बैश टर्मिनल से एक लिनक्स सर्वर में SSH, मैं उपयोग कर सकते हैं CTRL+ Aलाइन के शुरू होने से ठीक से वापस जाने के लिए, और CTRL+ Eपंक्ति के अंत में जाने के लिए और सब कुछ ठीक काम करता है।

जब मैं अपने मैक पर स्थानीय रूप से बैश का उपयोग करता हूं, जब मैं उपयोग करता हूं CTRL+ तो Aयह तार्किक रूप से लाइन की शुरुआत में वापस जाता है, लेकिन कर्सर को सही जगह पर प्रदर्शित नहीं करता है। यह कर्सर 7 या इतने वर्णों को प्रदर्शित करता है और लाइन टेक्स्ट को सही से अपडेट नहीं करता है।

उदाहरण

find . -name "hello.cpp"

CTRL+ A!

find . -name "hello.cpp"
       ^~~ cursor shows here ????

सम्मिलित करें "यह एक परीक्षा है" (सिर्फ दिखाने के लिए)

प्रदर्शित करता है:

find . this is a test -name "hello.cpp"
                      ^~~ cursor is still here ???
       ^~~~~~~~~~~~~^ text inserted here ???
^~~~~~^ unchanged for some reason

कमान सौंपी गई

this is a test find . -name "hello.cpp"

मैं उसी का उपयोग करता हूं

PS1=\n \e[1;95m \u@\h \e[0;32m\w \e[1;30m $(__git_ps1 " (%s)" ) \n \e[1;95m \@ \n $ \e[0;30m

जैसा कि मैं लिनक्स पर करता हूं।

संस्करण की जानकारी

  • बैश संस्करण: 3.2.57 (1)
  • टर्मिनल संस्करण: 2.6.1 (361.1)
  • OS X El Capitan, 10.11.5

3
वास्तव में इसका कारण यह है कि आपको इसके विपरीत होने की आवश्यकता है [] लेख के अनुसार कलर शिफ्ट कोड्स को संलग्न करने के लिए ibm.com/developerworks/linux/library/l-tip-prompt
मार्क

रंगों को जोड़ने \[और \]उसके आसपास समस्या को हल किया। यह वास्तव में दूसरी समस्या का उलटा है, जो मैं इसके लिए विषय पंक्ति को बदलने की सलाह दूंगा क्योंकि यह "इमैक स्टाइल" की तुलना में अधिक सामान्य मुद्दा है। क्या आप चाहते हैं कि मैं उलटे होने पर भी उन्हें नक़ल के रूप में चिह्नित करूं? मुझे लगता है कि इस विषय को खोजना आसान होगा।
मटेरोड

वर्तमान में यह कोई डुप्लिकेट नहीं है, लेकिन मुझे संदेह है कि एक प्रश्न को दूसरे प्रश्न का उपयोग करके लिखा जा सकता है
मार्क

@ मर्क मैंने आपकी टिप्पणी को उत्तर में बदल दिया है। प्रश्नों के उत्तर होने चाहिए। यदि आप अपना खुद का उत्तर बनाते हैं (आप जो चाहते हैं, मैं आपके द्वारा जोड़े गए एक को कॉपी कर सकता हूं) तो मैं उसे हटा दूंगा।
बेनेट मैकलेवे

जवाबों:


5

रंग कोड जोड़ें \[और \]उसके चारों ओर लाइन लंबाई की सही गणना करने के लिए बैश सक्षम करें। कुछ इस तरह:

PS1=\n \[\e[1;95m\] \u@\h \[\e[0;32m\]\w \[\e[1;30m\] $(__git_ps1 " (%s)" ) \n \[\e[1;95m\] \@ \n $ \[\e[0;30m\]

(यह जवाब प्रश्न पर @ मार्क की टिप्पणी से लिया गया है।)

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