Kitty 终端:PS1 bash 提示符上没有任何颜色

Kitty 终端:PS1 bash 提示符上没有任何颜色

与其他带有 kitty 终端的终端模拟器不同,我的 bash 提示符上没有颜色。我用的是ubuntu,我的PS1是\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

我需要为此设置什么?

谢谢

答案1

Kitty 可能无法被识别为彩色终端...$TERM环境变量设置为什么?

在 gnome 终端中它说:

$ echo $TERM
xterm-256color

《小猫》中写道:

$ echo $TERM
xterm-kitty

检查你的.bashrc这一行:

xterm-color|*-256color) color_prompt=yes;;

添加xterm-kitty到它,像这样:

xterm-color|*-256color|xterm-kitty) color_prompt=yes;;

现在重新启动小猫。

答案2

我认为它可以与您的以下代码一起使用~/.bashrc

我不知道您是否需要篡改该变量TERM,但它存在于我的 ~/.bashrc.我几年前借用了它,但不知道/不记得实际上需要什么。

if [ "${TERM:0:5}" == "xterm" ]
then
 typeset TERM=xterm-color  # force colour prompt
fi

function statstring {
RC=$?
  if [ "0" != $RC ]; then
    printf "[$RC] "
  fi
}
case "$TERM" in
xterm-color)
#    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

    if [ "$USER" = root ]; then
        PS1='\[\033[01;31m\]$(statstring)\[\033[00m\]${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w\[\033[00m\] \$ '
    else
        PS1='\[\033[01;31m\]$(statstring)\[\033[00m\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w\[\033[00m\] \$ '
    fi
    ;;
*)
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    ;;
esac

if [ "$TERM" == "xterm-color" ]
then
 typeset TERM=xterm  # force basic prompt
fi

说明:PC 计算机中的 ANSI 转义序列以 ESC [ 开头,在echo语句中我们可以使用 \0033 (ASCII:3*8+3 = 27 对于 ESC)。看这个链接有关 ANSI 序列的详细说明。

当命令返回错误代码时,还会出现“错误代码消息”。这是由函数控制的statstring

在此输入图像描述

相关内容