Verwirrter und unlesbarer Text aus einigen Farbthemen mit Emacs auf dem Ubuntu-Terminal

1

Ich habe dieses seltsame Problem mit Emacs und würde mich sehr über Hilfe freuen. Ich verwende Emacs im Terminal auf einem Ubuntu-Server, der auf VirtualBox auf meinem Windows-PC eingerichtet ist. Ich habe sowohl Cygwin als auch Git-Bash ausprobiert (beide haben Mintty) und ich habe auf beiden Terminals das gleiche Problem.

Das Problem, das ich bekomme, ist, wenn ich eines meiner benutzerdefinierten Designs für Emacs aktiviere, wird der Text verstümmelt und unlesbar. Meistens handelt es sich um kommentierten Text, der mit anderem Text zu verschmelzen scheint. Wenn ich jedoch auf eines der Standardthemen umschalte, die mit Emacs ausgeliefert werden, ist das Problem behoben. Dies scheint also ein Problem mit den benutzerdefinierten Themen zu sein (Gotham und das gesamte Paket für morgen Abend), da mir auch aufgefallen ist, dass die benutzerdefinierten Themen von dem von mir verwendeten Mintty-Thema betroffen sind, während die Standard-Emacs-Themen davon nicht betroffen sind von diesen. Wenn ich zum Beispiel das Gotham-Thema aktiviere und dort die Optionen für die Münzprägung öffne und die Farbthemen wechsle, sind auch die Farben von Gotham betroffen. Wenn ich dasselbe zum Beispiel mit einem Wombat-Thema versuche (das mit Emacs geliefert wird), hat das Ändern von Mintty-Themen keinerlei Auswirkungen auf die Emacs-Farben.

Ich glaube, die Probleme hängen mit den Emacs-Themen zusammen. Das Problem sollte nicht durch die Verwendung von Minz-Designs verursacht werden, da ich versucht habe, ein Terminal mit aktivierten Standardoptionen (nur xterm-256color) zu starten und dieselben Probleme mit den benutzerdefinierten Emacs-Designs zu erhalten. Es könnte ein Problem mit xterm-256color sein, aber ich kann dies nicht überprüfen, da emacs überhaupt keine Themen lädt, wenn nur Standard-8-Bit-Farben aktiviert sind. Aber noch einmal, wenn Mintty ein Fehler war, sollten alle Emacs-Themes betroffen sein, anstatt nur die benutzerdefinierten, die ich heruntergeladen habe.

Ich frage mich also, ob jemand weiß, ob es irgendwo in der emacs-Konfiguration oder in den Designdateien Einstellungen gibt, mit denen Emacs Terminalfarben ignorieren kann. Jeder Rat wäre sehr dankbar. Ich bin gerade dabei, Standard-Emacs-Themes mit benutzerdefinierten Emacs-Themes zu vergleichen, um festzustellen, ob ich etwas finde, aber ich kenne mich nicht mit Lisp aus, um wirklich zu verstehen, wonach ich suche.

UPDATE - Nach weiteren Experimenten stellte ich fest, dass die problematischen Themen entweder fehlen oder einige Farben nicht geladen werden können. Ich habe dies beim Scrollen durch die verschiedenen Themen mit gesehen M-x customize-themes. Einige der Themen behalten etwas Hintergrund- und Textfarbe aus dem vorherigen Arbeitsthema bei und mischen sie zusammen, wodurch der verstümmelte Text entsteht. Der nicht lesbare Text wird in zwei Schichten übereinander mit unterschiedlichen Farben und Schriftarten gedruckt.

Maxorcist
quelle

Antworten:

2

Mit tmux arbeiten lassen

since mintty unterstützt Kursivschrift seit 2.7.6

Kurze und süße Antwort

  1. Bearbeiten Sie Ihr $ TERM.terminfo, um sitm=\E[3m& einzuschließen, ritm=\E[23mund kompilieren Sie es dann erneut mittic

  2. Bearbeiten Sie Ihre .tmux.conf (ich habe sowohl die Standard- als auch die Benutzerkopie geändert), um Folgendes einzuschließen: set -g default-terminal "tmux-256color"

  3. rm -rf /tmp/tmux-* und starten Sie dann den tmux-Server erneut und es sollte funktionieren.

  4. Haftungsausschluss: Ich habe dies nur auf Cygwin getestet, nicht auf aktuellen Linux-Systemen.

Hintergrundgeschichte und langatmige Erklärung.

Ich habe heute ungefähr eine Stunde damit verbracht, das herauszufinden, hoffentlich hilft es anderen, es schneller herauszufinden.

Kurzer und süßer Hintergrund; Ich habe ein neues Farbschema installiert, das eine Menge Kursivschrift verwendet.

Wie bei den meisten Dingen gibt es immer einen Haken. Das Farbschema hat neben meinem Cygwin-Setup ohne Probleme funktioniert, bis ich tmux geöffnet habe. Tmux spielt wirklich nicht gut mit Dingen wie Syntaxhervorhebung oder Kursivschrift (ohne Konfiguration). Das nächste, was zu tun ist, ist etwas Forschung. Auf meiner Reise war ich auf diese nächsten paar Links .

Der erste Link ist mit dem zweiten verknüpft und enthält technisch alle Informationen, die zur Behebung meiner Probleme erforderlich sind. Für mich war das allerdings nicht ganz akzeptabel, da Sie beim ersten Mal eine eigene spezielle Terminfo-Datei geschrieben haben, die Sie nach dem Durchsuchen anderer Stellen nicht wiedererkennen. Das stimmte also, aber ich dachte mir, dass es wahrscheinlich eine Möglichkeit gibt, die Terminals des aktuellen Terminals zu bearbeiten, um Kursivschrift hinzuzufügen. Nach einigen weiteren Nachforschungen fand ich, dass dies genau das war, wonach ich suchte, konnte das Problem jedoch nicht direkt beheben.

Ich ging zum Github-Projekt für tmux, suchte nach "Kursivschrift" und fand die Ausgabe Nr. 1137 . Ich würde vorschlagen, den gesamten Thread durchzulesen, da er einige sehr hilfreiche Informationen enthält, abgesehen davon, dass nur Wörter kursiv geschrieben werden.

Nachdem der $ TERM-Wert in meiner .tmux.conf in 'tmux-256color' geändert und rm -rfdas tmux-Verzeichnis in tmp aufgerufen wurde, startete tmux und zeigte alle Kursivschrift an!

Scrambo
quelle
1

Gelöst! Das Problem trat bei einigen Themen auf, die kursiv gedruckt wurden und anscheinend die Wiedergabe von Text brachen. Ich denke, das Problem könnte in diesem Fall von Mintty verursacht werden, bin mir aber nicht sicher. Nach dem Ändern aller Felder im Thema, die zum Problem sagen :slant italic, :slant normalwurde behoben.

Diese Erklärung habe ich auch unter https://github.com/mintty/mintty/issues/152 gefunden :

Das Problem ist, dass Terminals im Grunde genommen für rechteckige Zeichenzellen ausgelegt sind. Schräge Buchstaben passen also nicht wirklich dazu. Wenn Sie Kursivschriftarten in Mintty ausprobieren, werden Teile von Buchstaben außerhalb ihrer Zeichenzellen gezeichnet, sodass sie auch abgeschnitten oder nicht richtig gelöscht werden. "

Bearbeiten: Siehe andere Antwort für die Lösung. Meine Antwort hier ist eher eine Problemumgehung als eine tatsächliche Lösung.

Maxorcist
quelle