In Emacs, how do I create for a certain color constant to be mapped to another color?

439 views Asked by At

I use Emacs native Win 32, but run it in DOS Prompt using emacs -nw. I love it. But, I can not easily read the blue color for a face foreground. And now I like to mapped all blue color, to be lightblue.

Is there some sort of alias like this?

Thanks.

4

There are 4 answers

4
Oleg Pavliv On BEST ANSWER

I think you should start with a Color theme package and choose a color theme you like.

Later you can adjust certain colors by doing M-x customize-face. The command M-x list-colors-display will help you to pick a right color.

EDIT: Do you run Emacs on text terminal? Then you may try to use tty-color-define. Unfortunately I cannot test it because I don't have Emacs on the terminal.

(defun my-define-red()
  (interactive)
  (tty-color-define "red" 1 (list 32000 12000 12000)))
2
dooliecakes On

If all you want to do is fix the minibuffer prompt like I did (defaults to dark blue on black in Cygwin emacs in a terminal) try editing the minibuffer-prompt face using this:

  1. M-x list-faces-display
  2. select "minibuffer-prompt" and hit enter
  3. Go to foreground property and put your cursor over the [ Choose ] area and hit enter
  4. scroll down to "green" and hit enter
  5. Go up to [ Save for future sessions ] and hit enter (this will write it to your .emacs file)

This is what it added to mine:

(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(minibuffer-prompt ((t (:foreground "green"))))
0
Lars Brinkhoff On

If you add this to your .emacs, all default faces will adapt to the dark background:

(custom-set-variables '(frame-background-mode 'dark))
0
vkj On
  1. M-x list-faces-display.
  2. Select the face you want to customize (the ones using blue color are displayed in blue and so forth). (To select, press .)
  3. Goto "foreground" property and change blue to something else, say cyan.
  4. If no foreground selected, choose cyan or something else.