1

在 PowerShell >6.0 中,我可以使用以下命令更改命令行 FOREGROUND 颜色:

Set-PSReadLineOption -Colors @{ Keyword="#0FAFE0"; Variable="#987ABC" }+

但是如何用 RGB 改变背景颜色???(#RRGGBB)
我可以看到一些带有 ASCII 控制台序列的示例,
但没有看到带有 RGB 格式的示例

4

1 回答 1

3

我不认为你可以?SelectionColor 使用白底黑字的 ansi 转义码:“`e[30;47m”(`e 为 ps 7)。https://en.wikipedia.org/wiki/ANSI_escape_code#Colors

从那个维基百科页面怎么样:

ESC[ 38;2;⟨r⟩;⟨g⟩;⟨b⟩ m -- 选择 RGB 前景色

ESC[ 48;2;⟨r⟩;⟨g⟩;⟨b⟩ m -- 选择 RGB 背景颜色

红色前景 (255 0 0) 蓝色 (0 0 255) 背景。

Set-PSReadLineOption -Colors @{ variable = "`e[38;2;255;0;0m" + # fg
                                           "`e[48;2;0;0;255m" } # bg

在 ps5 中你必须说 $([char]0x1b) 而不是 `e.

$e = [char]0x1b
Set-PSReadLineOption -Colors @{ variable = "$e[38;2;255;0;0m" + # fg
                                           "$e[48;2;0;0;255m" } # bg
于 2020-07-25T01:13:33.950 回答