Ist es möglich (und wie) eine benutzerdefinierte Anpassung der Syntaxhervorhebung im integrierten Midnight Commander-Editor/-Viewer vorzunehmen?

Ist es möglich (und wie) eine benutzerdefinierte Anpassung der Syntaxhervorhebung im integrierten Midnight Commander-Editor/-Viewer vorzunehmen?

Kürzlich habe ich eine Funktion von MC entdeckt, mit der man bestimmte Dateitypen anzeigen/bearbeiten kann. Zum Beispiel dies:

Shell/.Klasse
    Ansicht=%view{ascii} tmp=%p; javap -c ${tmp%%.class}

aus~/.mc/BindungenIch schaue kurz nach Java-Klassenmethoden/-feldern, indem ich drücke F3. Aber es ist schwer, sie zu finden, wenn der gesamte Code dieselben Farben verwendet. Ich würde gerne Schlüsselwörter und Typen in irgendeiner Form hervorgehoben sehen.

Ist es möglich (und wie) eine benutzerdefinierte Anpassung der Syntaxhervorhebung im integrierten Midnight Commander-Editor/-Viewer (mittels regulärer Ausdrücke) vorzunehmen?

Antwort1

Syntaxbezogene Dateien werden in gespeichert /usr/share/mc/syntax. Diese Dateien werden vom Paketverwaltungssystem bereitgestellt. Sie könnten als Root bearbeitet werden und es sollte funktionieren, aber das wäre ein Hack.

/usr/share/mc/syntax/SyntaxDie richtige Lösung besteht darin , Folgendes in Ihr Home-Verzeichnis zu kopieren : ~/.config/mc/mcedit/Syntax. (Hinweis: Alte Versionen können einen anderen Pfad verwenden, z. B.: ~/.mc/cedit) Diese Datei definiert Dateitypzuordnungen und wenn sie in Ihrem Home-Verzeichnis vorhanden ist, überschreibt sie die Standardzuordnung. Sie kann jetzt also bearbeitet werden.

Wenn Sie beispielsweise eine Syntaxdatei für qweErweiterungen hinzufügen möchten, sollten Sie diese Zeilen hinzufügen:

file ..\*\\.qwe$ qwe\sFile
include /home/username/.config/mc/mcedit/qwe.syntax

Beachten Sie, dass ein absoluter Pfad erforderlich ist, wenn sich die Datei nicht in (oder auch in den neueren Versionen) includebefindet . Anschließend sollten Sie Ihre Datei basierend auf den anderen erstellen und bearbeiten./usr/share/mc/syntax~/.local/share/mc/mceditqwe.syntax

Antwort2

Zu den Farben kann ich nichts sagen, aber die Bindung muss aktualisiert werden, um Klassendateien in einem JAR anzuzeigen:

shell/.class
     View=%view{ascii} tmp=%f; xyxy=${tmp##*/}; javap -classpath ${tmp%/*.class} -c ${xyxy%.class}

verwandte Informationen