Ich programmiere mit Emacs unter Ubuntu (im Moment Hardy Heron) und ich mag die Standardtextfärbung in der Emacs-GUI. Die Standardtextfarbe, wenn Emacs im Terminal ausgeführt wird, ist jedoch unterschiedlich und grell.
Wie stelle ich sicher, dass die Farben im Terminal mit den Farben in der GUI übereinstimmen?
-nw
Modus. Ist das möglich?-nw
wird.Antworten:
Sie müssen sich nicht an die Standardfarben Ihres Terminals von 16 (oder weniger) halten. Moderne Terminals unterstützen 256 Farben (wodurch Sie Ihrem GUI-Look ziemlich nahe kommen).
Leider ist es schwierig, Ihr Terminal dazu zu bringen, 256 Farben zu unterstützen, und es variiert von Begriff zu Begriff. Diese Seite hat mir sehr geholfen (aber sie ist veraltet; ich habe definitiv 256 Farben in Gnome-Terminal und XFCE4-Terminal erhalten; aber Sie müssen sie möglicherweise aus dem Quellcode erstellen.)
Sobald Ihr Terminal mit 256 Farben zufrieden ist, setzt der magische Aufruf Ihren Terminaltyp auf "xterm-256color", bevor Sie Emacs aufrufen, z.
Oder Sie können TERM in Ihrer
.bashrc
Datei festlegen :Sie können überprüfen, ob es in Emacs funktioniert, indem
M-x list-colors-display
Sie entweder 16 oder alle 256 herrlichen Farben anzeigen.Wenn es funktioniert, sehen Sie
color-theme
wie jemand anderes vorgeschlagen.(Sie werden wahrscheinlich irgendwann frustriert sein; Gott weiß, dass ich es jedes Mal tue, wenn ich versuche, etwas Ähnliches zu tun. Aber bleiben Sie dabei; es lohnt sich.)
quelle
TERM=xterm-256color emacs
Emacs auch mit einem 256-Farben-Terminal starten, ohne die Umgebungsvariable zu exportieren.emacs -nw
in einem iTerm-Fenster unter Mac OS X sucht , beachten Sie, dass Sie iTerm anweisen können, den Terminaltyp als zu meldenxterm-256color
. Gehen Sie zu Einstellungen ➜ Profile ➜ Terminal und setzen Sie das Feld "Terminal-Typ melden".Ich bin mir nicht sicher, ob dies möglich ist, da die GUI möglicherweise mehr Funktionen als das Terminal bietet (ja, ich habe in letzter Zeit GUI-Terminals mit nur 16 Farben gesehen). Dies kann davon abhängen, wie das Terminal eingestellt ist. Auf jeden Fall würde ich mit Color Theme spielen .
Warum verwenden Sie Emacs sowohl im Terminal als auch in der GUI? Im Allgemeinen finden die Leute das eine oder andere ansprechend und verwenden nur das eine. Wenn Sie Emacs remote verwenden, möchten Sie es möglicherweise lokal ausführen und Tramp verwenden , um Dateien remote oder als Root zu öffnen.
quelle
Eine etwas späte Antwort, aber ich hatte das Problem, dass der schwarze Hintergrund grau angezeigt wurde. Ich habe es behoben, indem ich mit der Palette herumgespielt habe.
Bearbeiten> Profileinstellungen> Farbe> Palette
quelle
Ich konnte mit Emacs 26 ziemlich nahe kommen.
Ich habe die Emacs-FAQ befolgt, um 24-Bit-Farben zum Laufen zu bringen: https://www.gnu.org/software/emacs/manual/html_mono/efaq.html#Colors-on-a-TTY
Und dann habe ich die Variable xterm-Standardfarben geändert:
(set 'xterm-standard-colors '(("black" 0 ( 0 0 0)) ("red" 1 (255 0 0)) ("green" 2 ( 0 255 0)) ("yellow" 3 (255 255 0)) ("blue" 4 ( 0 0 255)) ("magenta" 5 (255 0 255)) ("cyan" 6 ( 0 255 255)) ("white" 7 (255 255 255)) ("brightblack" 8 (127 127 127)) ("brightred" 9 (255 0 0)) ("brightgreen" 10 ( 0 255 0)) ("brightyellow" 11 (255 255 0)) ("brightblue" 12 (92 92 255)) ("brightmagenta" 13 (255 0 255)) ("brightcyan" 14 ( 0 255 255)) ("brightwhite" 15 (255 255 255))) )
(Ich habe die "hellen *" Farben nicht geändert, weil ich sie nicht verwende, und sie scheinen
list-colors-display
sowieso nicht in X11-Emacs verfügbar zu sein.)Mit diesen beiden Änderungen sehen die Farben für mich zwischen X11 und Terminal ziemlich identisch aus.
quelle
Ich denke nicht, dass das so allgemein möglich ist. Mit dem Terminal sind Sie normalerweise an einige vordefinierte Farben gebunden (mit Dingen wie dem Gnome-Terminal können Sie diese Farben anpassen - aber Sie bleiben bei einer vordefinierten, begrenzten Anzahl von Farben).
quelle