自从bash 4.4版本开始,可以在.inputrc文件中设置变量vi-ins-mode-string和vi-cmd-string。我一直尝试使用tput setab number和tput setaf number来更改这些字符串的前景色和背景色,但没有成功。我猜测这是可能的,因为我看到bash-powerline脚本正是使用这些函数来着色的。任何帮助将不胜感激。
它们不是 bash 变量,而是 readline 变量,因此只能在 .inputrc 中设置,这不是一个 bash 脚本。你需要使用原始的 ASCII 转义序列。 set editing-mode vi set show-mode-in-prompt on set vi-cmd-mode-string \1\e[32m\2(c)\1\e[0m\2 set vi-ins-mode-string \1\e[34m\2(i)\1\e[0m\2