powershell linux颜色,powershell – wsl中zsh的颜色问题

我们可以检查

$PROMPT(或

$PS1).

确实,哦-my-zsh的agnoster主题uses PROMPT_SUBST.因此,我们可以通过重定向或管道输出print -P来获取原始转义序列:

$print $PROMPT

%{%f%b%k%}$(build_prompt)

$print -P $PROMPT | cat -v ;# or redirect to a file as you like

^[[39m^[[0m^[[49m^[[40m^[[39m me@mycomputer ^[[44m^[[30mM-nM-^BM-0^[[30m ~ ^[[49m^[[34mM-nM-^BM-0^[[39m

尝试描述上面的输出:

(^ [[39m:前两个字符由cat -v转义.我们有ESC [39m.]

> ^ [[39m ^ [[0m ^ [[49m:来自%{%f%k%b%}打印$PROMPT输出的一部分. ^ [[39m重置默认前景色,^ [[0m重置每个效果和[[49m重置默认背景色].

> ^ [[40m ^ [[39m me @ mycomputer:bg black和fg默认颜色

> ^ [[44m ^ [[30m M-nM- ^ BM-0:bg蓝色和fg默认颜色(M-nM- ^ BM-0是cat -v转义形式的)

此时,似乎提示输出了pwd的bg蓝色代码.你可以查看

print -P’%b%F {red} co%F {green} lo%F {blue} rs%f%b'(注意:第一个’%b’)

这意味着powershell的颜色托盘设置与ANSI转义序列不匹配.如果我们看到sh ./16colors.sh的输出,我们可以检查终端的颜色托盘设置是否正确,并且在xterm分配中使用16colors.sh.

(可以找到xterm默认设置的输出示例,例如:https://www.in-ulm.de/~mascheck/various/xterm/16-table.html)

似乎你的powershell的Solarized(?)主题将ansi颜色序列映射为蓝色(^ [[44m或^ [[34m]为我们眼睛的灰色颜色).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值