更改ls命令的emacs bash颜色

Lar*_*sen 6 emacs bash colors

我已启用dircolors在使用ls时将ls命令更改为文件夹为黄色.问题是当我在emacs中使用shell时,它仍然显示为深蓝色,这在黑色背景上难以阅读.

如何更改bash shell的颜色,或者更具体地说,更改ls命令的颜色. 我的颜色更改适用于打开的终端,但不适用于emacs.我有支持X的emacs23.

Rob*_*lga 10

如果你使用的是ansi-color,它会采用ansi-color-names-vector中的颜色,默认为:

  ["black" "red" "green" "yellow" "blue" "magenta" "cyan" "white"]
Run Code Online (Sandbox Code Playgroud)

您可以自定义更改ansi-color-names-vector变量的shell输出颜色.

这是我的,与zenburn主题配合得很好.

(setq ansi-color-names-vector
      ["black" "tomato" "PaleGreen2" "gold1"
       "DeepSkyBlue1" "MediumOrchid1" "cyan" "white"])
Run Code Online (Sandbox Code Playgroud)

要查看更改,请评估下一个表达式,然后考虑下一个表达式

(setq ansi-color-map (ansi-color-make-color-map))
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助.


phi*_*ils 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