【发布时间】:2017-04-20 13:41:46
【问题描述】:
从 bash 4.4 开始,您可以在 .inputrc 中设置变量 vi-ins-mode-string 和 vi-cmd-string。我一直在尝试使用tput setab number 和tput setaf number 更改每个字符串的前景色和背景色,但没有成功。
我想这是可能的,因为我已经看到了 bash-powerline 脚本,它正是使用这些函数来进行着色。
任何帮助将不胜感激。
【问题讨论】:
从 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
【讨论】: