You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Elixir命令提示符颜色?含IO.inspect样式设置示例

如何修改Elixir命令提示符及指定输出的颜色

嘿,这个问题我刚好折腾过!要实现你说的「指定代码输出黑字黄背景」,或者修改iex命令提示符的颜色,核心都是用ANSI终端颜色转义码,下面分两种场景给你详细讲:

一、给IO.inspect的输出设置黑字黄背景

你举的例子var1 = %{someprop: 123}; IO.inspect var1,要让这段输出变成黑字黄背景,最简单的方式是直接用ANSI转义码包裹输出内容:

方法1:直接拼接颜色代码

var1 = %{someprop: 123}
# 黑字(\e[30m) + 黄背景(\e[43m),最后用\e[0m重置颜色
IO.puts("\e[30m\e[43m#{inspect(var1)}\e[0m")

方法2:封装成复用函数

如果需要多次使用这种样式,可以封装一个自定义函数,避免重复写转义码:

defmodule ColoredInspect do
  @black_text "\e[30m"
  @yellow_bg "\e[43m"
  @reset "\e[0m"

  def yellow_bg_black(term) do
    formatted = inspect(term)
    IO.puts("#{@black_text}#{@yellow_bg}#{formatted}#{@reset}")
  end
end

# 使用示例:
var1 = %{someprop: 123}
ColoredInspect.yellow_bg_black(var1)

二、修改iex命令提示符的颜色

如果要修改iex默认的iex(1)>提示符颜色,需要配置~/.iex.exs文件(没有的话就新建一个),添加以下内容:

IEx.configure(
  # 同样用ANSI码设置黑字黄背景,%counter是iex内置的提示符计数器
  prompt: "\e[30m\e[43miex(%counter)> \e[0m"
)

保存后重启iex,你就能看到带黄背景黑字的提示符啦!

小补充:ANSI转义码说明

这里用到的几个关键转义码:

  • \e[30m:设置文本颜色为黑色
  • \e[43m:设置背景颜色为黄色
  • \e[0m:必须加上,用来重置所有颜色属性,不然后续的终端输出都会继承这个颜色样式

注意:大部分现代终端(Linux/macOS终端、Windows Terminal、PowerShell)都支持ANSI转义码,旧版Windows命令提示符可能需要额外配置才能支持。

内容的提问来源于stack exchange,提问作者Dmitriy Makarenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:40:21