4

从 bash 4.4 开始,您可以在 .inputrc 中设置变量 vi-ins-mode-string 和 vi-cmd-string。我一直在尝试使用tput setab numberand来更改每个字符串的前景色和背景色tput setaf number,但没有成功。

我想这是可能的,因为我已经看到了 bash-powerline 脚本,它正是使用这些函数来进行着色。

任何帮助,将不胜感激。

4

1 回答 1

4

它们不是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
于 2016-12-06T02:59:01.133 回答