我在 linux WSL 中的提示有问题,当我编写多行命令时,命令开始在我的提示后面写入?
Having a problem with my prompt in linux WSL, when i write more than one line commands the command starts writing behind my prompt?
因此,在编写代码时,我的代码不会溢出到下一行,而是在我的提示之后或者有时它只是转到其他地方。我有一个彩色提示,我想也许我的代码可能是问题所在……它在这里:
export PS1="\e[1;36m\u\e[m\e[1;34m@\h\e[m\e[1;36m\w$ \e[m"
如果不是,是什么原因造成的?
您的提示行看起来很奇怪。 Afaik 你总是必须将颜色变化包装在 \[
和 \]
中。
再次不确定,但据我了解 \e
仅用于单一颜色,但如果您还想更改粗体,则必须使用例如3[1;32m
.
此外,当重置为默认值时,它不应该是 \e[m
,而是 afaik \e[0m
。
您还应该将其包装在 ''
而不是 ""
中,以避免在那里进行一些动态变量替换。所以总的来说是这样的。
export PS1='\[3[1;36m\]\u\[3[1;34m\]@\h\[\e[0m\]:\[3[1;36m\]\w$ \[\e[0m\]'
因此,在编写代码时,我的代码不会溢出到下一行,而是在我的提示之后或者有时它只是转到其他地方。我有一个彩色提示,我想也许我的代码可能是问题所在……它在这里:
export PS1="\e[1;36m\u\e[m\e[1;34m@\h\e[m\e[1;36m\w$ \e[m"
如果不是,是什么原因造成的?
您的提示行看起来很奇怪。 Afaik 你总是必须将颜色变化包装在 \[
和 \]
中。
再次不确定,但据我了解 \e
仅用于单一颜色,但如果您还想更改粗体,则必须使用例如3[1;32m
.
此外,当重置为默认值时,它不应该是 \e[m
,而是 afaik \e[0m
。
您还应该将其包装在 ''
而不是 ""
中,以避免在那里进行一些动态变量替换。所以总的来说是这样的。
export PS1='\[3[1;36m\]\u\[3[1;34m\]@\h\[\e[0m\]:\[3[1;36m\]\w$ \[\e[0m\]'