2009-03-24 10 views
9

Ich verwende Emacs in einem Konsolenfenster sowohl auf meiner lokalen Linux-Box und auf dem Anmeldeknoten eines Remote-Clusters. Ich benutze Emacs regelmäßig, und ich habe die Vordergrundfarbe auf weiß in meiner .emacs wie so Datei gesetzt habe:Emacs/Xterm Farbe Belästigung unter Linux

(set-foreground-color "white") 
(set-background-color "black") 

Allerdings, wenn ich Emacs laufen, der Vordergrund nicht weiß ist; es ist grau und sehr schwer zu lesen. Auf meinem Mac erscheint Emacs in einem Konsolenfenster mit den gleichen Einstellungen als richtiges Weiß. Aber auf beiden Linux-Boxen, in konsole und xterm, ist es grau.

Wenn es darauf ankommt, habe ich auf Xterm-Farbe gesetzt, der Desktop läuft RHEL 5, und der Cluster-Knoten läuft RHEL 4 (CentOS).

Ist dies ein Standard, wie Linux Terminalfarben einrichtet? Wie werde ich weiß, um weiß zu sein?

Hinweis: dies ist mit Konsole Emacs, nicht unter X. Emacs Das emacs -nw ist, wenn Sie DISPLAY gesetzt haben.

Antwort

11

Die Farbe brightwhite auf meinem Emacs ok aussieht (die unter einem Terminal ausgeführt wird, nicht X). Auf RHEL5 habe ich meine Umgebungsvariable auf xterm-256color gesetzt. Wenn es richtig funktioniert, sollten Sie in der Lage sein, these scripts auszuführen und 256-Farbenausgabe zu sehen. Unter Emacs sollten Sie eine relativ glatte Farbrampe (keine offensichtlich doppelte Farben) sehen, wenn Sie M-x list-colors-display tun.Wenn nicht, vermissen Sie wahrscheinlich den richtigen termcap-Eintrag (versuchen Sie, das libtermcap-devel-Paket zu installieren, denke ich).

Wenn ich TERM-xterm-color ändern, dann kommt brightwhite in der Ausgabe von list-colors-display ein wenig grau aus.

Ich bin mir nicht sicher über RHEL4.

1

Sieht so aus, als würden Sie nur die Vordergrundfarbe einstellen.

(set-foreground-color "white") 
(set-foreground-color "black") 

Ich bin sicher, dass Sie auf letzterer set-background-color gemeint haben.

Ich kann das bestätigen, wenn sie als Emacs läuft:

$ emacs -nw -bg black -fg white 

auch.

+0

Entschuldigung das war ein Tippfehler! Oben aktualisiert. – tgamblin

+0

Dies hätte nicht abgelehnt werden sollen. Es war eine Antwort basierend auf der OP-Tippfrage. –

+0

Danke für die Verteidigung. – ashawley

2

Was:

(set-foreground-color "brightwhite") 

Als Antwort auf Kommentar:

Emacs laufen M-x list-colors-display, die Sie alle Farben zeigen sollte, dass Emacs denkt mit Ihrem Terminal zur Verfügung stehen.

+0

Funktioniert das für Sie? Ich habe es versucht, aber es gibt mir schwarze Menüs und Statusleisten, und der Text wird als Standard-Vordergrundfarbe von meinem Terminal angezeigt (was grün ist). Vielleicht habe ich nicht "hellweiß" – tgamblin

+0

Response aktualisiert –

1

ich einige Experimente haben, und Sie können Konsolen Farben in Emacs gesetzt, aber Sie sind auf diese Palette beschränkt:

black     blue           
cyan      green           
magenta     red           
white     yellow  

Der weiße, die Sie erhalten, ist etwas abgeblendet; Volles helles Weiß ist für fett gedruckten Text reserviert. Wenn Sie also

M-x facemenu-set-bold 

ausführen, erhalten Sie fett (hellweißen) Text für spätere Einfügungen.

Ich hatte kein Glück versucht, das Standard-Gesicht zu fett zu zwingen. (Ich verstehe nicht wirklich, wie Gesichter in Emacs funktionieren.)

+0

"aber Sie sind auf diese Palette beschränkt" - Das ist nicht wirklich wahr, Emacs unterstützt 256 Farben unter der Annahme, dass Ihr Terminal richtig eingerichtet ist. Siehe Screenshot @ http://seanbright.com/e256.png –

+0

@Sean: Nehmen Sie etwas Ansehen bei http://stackoverflow.com/questions/684424/how-do-i-set-up-my-linux-x -terminal-so-dass-emacs-Zugriff auf 256-Farben hat –

2

Was ist, wenn Sie nur Reverse-Video für die Konsole-Version verwenden, ist das gut genug?

$ emacs -nw -rv 
1

Ich fand auch, dass ich im Terminal-Modus seltsame Farben hatte und schließlich zu einer Schrift Gesicht Anpassung nachverfolgte. Ich hatte so etwas wie diese:

(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. 
'(default ((t (:inherit nil :stipple nil :background "#000a00" :foreground "#ffffed" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 113 :width normal :foundry "unknown" :family "Droid Sans Mono"))))) 

ich die Vorder- und Hintergrundeigenschaften entfernt und alles begann, mich prima an.