我的问题与此问题相似,但有所不同。
我已经在自己的中创建了一个自定义PS1 .bashrc
,如下所示:
STARTCOLOR='\e[0;36m';
ENDCOLOR="\e[0m"
export PS1="\n$STARTCOLOR\u@\h:\! <\t> \w\n\$ $ENDCOLOR"
看起来像这样(但当然带有颜色):
tony@home:515 <17:04:52> ~/IdeaProjects/SomeProject
$ gedit ~/.bashrc
当我将项目链接到远程git repo时,我首先注意到了这个问题。我期望以下内容(当然不是真正的仓库):
$ git remote add origin https://[email protected]/tony/someproject.git
但是反而得到了(请注意,它甚至覆盖了我的PS1的一部分):
project.gitte add origin https://[email protected]/tony/some
即使在视觉上有些奇怪,这些命令仍然有效。
tl; dr当我的长命令超过一行时,第二行将覆盖第一行。有什么想法吗?
在\[
和中包裹颜色转义序列\]
(如您链接到的问题的答案中所述),以将它们标记为不可打印的字符。
这样,bash
在计算应移动到新行的字符数时,就不会将它们计入提示长度。
STARTCOLOR='\e[0;36m'
ENDCOLOR="\e[0m"
export PS1="\n\[$STARTCOLOR\]\u@\h:\! <\t> \w\n\$ \[$ENDCOLOR\]"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句