Modifying ansi-term colors in Emacs

3.7k views Asked by At

The text in the red ellipse below is hard to read

                     enter image description here

When I inspect the face with C-u C-x = (what face) I see the following:

enter image description here

So I went to update the face term-bold (see below), but the color doesn't seem to match what I actually got on the screen above (it should be blue+yellow according to the face definition). Any thoughts?

enter image description here

3

There are 3 answers

4
Amelio Vazquez-Reina On BEST ANSWER

Emacs uses its own terminal colors to render ansi color codes. You can change the appearance of the face that you are referring to by changing two faces:

  • term-color-yellow
  • term-color-blue

For example, changing the foreground property of the face term-color-yellow to yellow3, and the background property of the face term-color-blue to dark-blueresults in the following appearance:

                  enter image description here

which is more readable than the face in the original post and resembles the traditional appearance of the blue and yellow terminal colors.

0
aurelien On

The most efficient way to do that is to use the Emacs customization group

M-x customize-group RET term RET

This will open

enter image description here

1
phils On

It's telling you that the face inherits from term-bold, and then over-rides the inherited foreground, background, and inverse-video properties.

I would guess the colours are coming from the shell (I assume it's a shell) that you're running in that terminal. So you probably need to configure the colours outside of Emacs?