Sie können das Paket e2ansi verwenden , das Unterstützung für Syntaxhervorhebungen für Pager wie more
und bietet less
.
Das Paket verwendet die Mutter aller Texteditoren, Emacs , um die eigentliche Syntaxhervorhebung durchzuführen. Als zusätzlichen Bonus werden auch alle anderen Konvertierungen durchgeführt, die normalerweise von Emacs ausgeführt werden - wie das Dekomprimieren von Dateien.
Beispiel
Das Folgende ist das Ergebnis des Anzeigens einer Datei mit less
und
e2ansi
:
Aufbau
Das Paket enthält ein Befehlszeilentool e2ansi-cat
, mit dem Emacs im Batch-Modus gestartet, Dateien geöffnet, syntaktisch hervorgehoben und das Ergebnis mithilfe von ANSI-Sequenzen gerendert werden kann.
Sie können dies integrieren, less
indem Sie beispielsweise die folgenden Variablen auf setzen (der Speicherort Ihrer Init-Datei kann variieren):
export "LESSOPEN=||-/usr/local/emacs --batch -Q -l ~/.emacs -l bin/e2ansi-cat %s"
export "LESS=-r"
alias "more=less -X -E"
In der obigen Konfiguration wird less
der ursprüngliche Inhalt des Terminalfensters wiederhergestellt, während more
nach der Eingabeaufforderung einfach neuer Inhalt ausgegeben wird.
Hinweis: Wenn Sie eine alte Version von verwenden less
, unterstützt diese möglicherweise weder
||
die -
Syntax noch die Syntax. In diesem Fall müssen Sie sie möglicherweise einfach verwenden
LESSOPEN=|/usr/local/emacs ...
.
Verwendung less
in Rohren
Das Zeichen "-" in LESSOPEN
gibt an, dass der Eingabefilter auch beim Einfügen von Text verwendet werden soll less
. In diesem Fall kann sich Emacs nur auf Text selbst (und nicht auf einen Dateinamen) verlassen. Glücklicherweise bietet Emacs hierfür ein System an. Darüber hinaus werden durch die bereitgestellte Dateidatei
e2ansi-magic.el
zusätzliche Dateitypen eingerichtet. Zum Beispiel:
Warum Emacs benutzen?
- Emacs unterstützt praktisch alle Programmiersprachen und strukturierten Textformate. In den meisten Fällen ist die Syntax-Hervorhebungsunterstützung hervorragend.
- Sie können problemlos Unterstützung für weitere Sprachen und Formate hinzufügen oder vorhandene Pakete an Ihre Bedürfnisse anpassen.
- Emacs unterstützen Farbthemen. Bei der Verwendung
e2ansi
bleiben die Farben im Design erhalten, wenn eine Datei in angezeigt wird less
. Sie können ein geeignetes Farbthema aus einer Reihe von Quellen auswählen oder Ihr eigenes entwerfen.
- Wenn Sie Emacs als Editor Ihrer Wahl verwenden, erhalten Sie im Editor dieselbe Hervorhebung wie beim Anzeigen einer Datei mit
less
(abzüglich der Einschränkungen im ANSI-Sequenzformat und im Terminalfenster).
less
wird die Emacs-Funktionen nutzen, die eine automatische Konvertierung durchführen, zum Beispiel das Dekomprimieren von Dateien. Tatsächlich können Sie Emacs beibringen, jede Art von Konvertierung durchzuführen, beispielsweise die automatische Konvertierung einer Binärdatei in eine für Menschen lesbare Form mithilfe eines externen Tools.
- Sie können Dateien anzeigen, die sich auf anderen Computern befinden, indem Sie die Emacs-Syntax für den Remotezugriff verwenden
/USER@HOST:FILENAME
.
Nützliche Links
Hinweise zum Betriebssystem
Unter MS Windows unterstützt die Konsole keine ANSI-Sequenzen. Glücklicherweise kann die less
Anwendung sie rendern. Mir ist keine aktuelle Binärdistribution von less
für MS Windows bekannt, und die bereitgestellten Build-Dateien sind schwer zu verwenden. Glücklicherweise ist das Erstellen less
mit CMake einfach. Weitere Informationen finden Sie in diesem Text .
OS X vertreibt eine alte Version von less
. Glücklicherweise ist es einfach, eine moderne Version direkt aus dem Quellcode zu erstellen.