我已经绑定了一个键来使用 tmux 的命令运行脚本run-shell
,但我找不到任何使用颜色输出的方法。
- 正常的 ansi 代码不起作用,例如
echo -e "\e[32mblah blah\e[0m"
- tmux 格式化不起作用(我也不期望它起作用),例如
echo -e "#[fg=colour250]blah blah"
- 我也没有尝试过其他任何东西,例如 256 色代码,例如
printf "\x1b[38;5;57mblah blah"
答案1
没有解决方法run-shell
,因为tmux
从作业中复制数据screen_write_vnputs
,丢弃任何转义字符(以及大多数其他控制字符)。这是相关的代码块:
if (*ptr == '\001')
gc.attr ^= GRID_ATTR_CHARSET;
else if (*ptr > 0x1f && *ptr < 0x7f) {
size++;
screen_write_putc(ctx, &gc, *ptr);
}
ptr++;