~/.bashrc change PS1 with color 将换行符转换为回车 return 第一个换行符
~/.bashrc change PS1 with color converts newline into carriage return first newline
我将提示更改为:
c=$(basename $CONDA_DEFAULT_ENV)
export PS1='[\h] -\e[0;36m$c\e[0;37m (\W) \e[0;52m'
在~/.bashrc
.
第一个换行实际上是回车 return 但从第二个换行开始这些实际上是换行。
我指的新行是当命令太长而不是在第二行继续,我写在提示行的开头。
我做错了什么?
谢谢!
您必须在 \[
\]
周围放置转义序列(或打印时不可见的任何其他序列),以便 Bash 正确检测提示长度。请参阅 bash 有关提示的文档。
一些事情:
export PS1='[\h] -\[\e[0;36m\]$c\[\e[0;37m\] (\W) \[\e[0;52\]m'
应该 没问题 - Bash 应该能够处理 multi-byte 序列并正确检测长度UTF-8 的东西。
我将提示更改为:
c=$(basename $CONDA_DEFAULT_ENV)
export PS1='[\h] -\e[0;36m$c\e[0;37m (\W) \e[0;52m'
在~/.bashrc
.
第一个换行实际上是回车 return 但从第二个换行开始这些实际上是换行。
我指的新行是当命令太长而不是在第二行继续,我写在提示行的开头。
我做错了什么?
谢谢!
您必须在 \[
\]
周围放置转义序列(或打印时不可见的任何其他序列),以便 Bash 正确检测提示长度。请参阅 bash 有关提示的文档。
一些事情:
export PS1='[\h] -\[\e[0;36m\]$c\[\e[0;37m\] (\W) \[\e[0;52\]m'
应该 没问题 - Bash 应该能够处理 multi-byte 序列并正确检测长度UTF-8 的东西。