我已启用dircolors,在使用ls时将ls命令更改为文件夹为黄色。问题是,当我在emacs中使用shell时,它仍会显示为深蓝色,这在黑色背景上难以阅读。
如何更改bash shell的颜色,或者更具体地说,更改ls命令的颜色。我的颜色更改适用于已打开的终端,但不适用于emacs。我有支持X的emacs23。
答案 0 :(得分:10)
如果您使用的是ansi-color,它会采用ansi-color-names-vector中的颜色,默认为:
["black" "red" "green" "yellow" "blue" "magenta" "cyan" "white"]
您可以自定义改变ansi-color-names-vector变量的shell输出颜色。
这是我的,与zenburn主题配合得很好。
(setq ansi-color-names-vector
["black" "tomato" "PaleGreen2" "gold1"
"DeepSkyBlue1" "MediumOrchid1" "cyan" "white"])
要查看更改,请评估下一个表达式,然后考虑下一个表达式
(setq ansi-color-map (ansi-color-make-color-map))
我希望这会有所帮助。
答案 1 :(得分:0)
假设您正在使用 M-x shell
......
C-h f shell
RET 说:
如果是文件
~/.emacs_SHELLNAME' exists, or
〜/ .emacs.d / init_SHELLNAME.sh', 它作为初始输入给出(但由于时间原因,这可能会丢失 错误,如果shell在启动时丢弃输入。)
因此,如果您在LS_COLORS
中导出~/.emacs.d/init_bash.sh
环境变量,则Emacs应该使用它。
编辑:嗯......我不再确定shell
支持这一点。 (无论如何,我遇到了Vista + Cygwin的问题!)
您可能还想尝试 M-x term
或 M-x ansi-term
?