Gibt es eine Möglichkeit, eine in Less angezeigte Datei syntaktisch hervorzuheben?
Eigentlich benutze ich diesen Befehl, um eine XML-Datei (und manchmal eine Reihe von ihnen) zu öffnen.
less htmleditors/htmleditors_config.xml
oder
less [multiple files]
Ich möchte in Less bleiben (um dieses Programm besser zu lernen und mein Wissen über: n und: p für die nächste / vorherige Navigation zu nutzen)
Sie möchte aber auch eine Art grundlegende Syntaxhervorhebung - zumindest die Kommentare anders anzeigen. Kennen Sie eine Möglichkeit, dies zu tun?
syntax-highlighting
less
Jesper Rønn-Jensen
quelle
quelle
less ~/.zshrc
. Fehler:src-hilite-lesspipe.sh: line 9: source-highlight: command not found
. Ich führe das unter MacOSX aus.brew install source-highlight
;export LESSOPEN="| /usr/local/bin/src-hilite-lesspipe.sh %s"
. Beachten Sie die Pfadänderung.sudo apt-get install source-highlight
,export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"
,export LESS=' -R '
Das Beste aus beiden vorherigen Antworten: Sie können den Systemstandard-Editor in kürzerer Zeit aufrufen, indem Sie drücken v.
quelle
oder
Pygementize ist Teil des Syntax-Highliters von Pygments Python .
quelle
pygmentize
funktioniert auch mit denLESSOPEN
Sachen, die in anderen Antworten hier erwähnt werden.pygmentize
, müssen Sie Python und dann können Sie installierenpygmentize
mitpip install pygments
.less
zu verwenden ,pygmentize
für die Syntaxhervorhebung Verwendung:which pygmentize 2> /dev/null >&2 && export LESSOPEN="| pygmentize -g -f terminal256 %s"
.-g
damit es mit Pipes funktioniert (less <(diff -u file1 files)
). Es ist incommunity/pygmentize
Paketen fürarch linux
undpython-pygments
für verfügbardebian
.pygmentize
, fand sie aber zu langsam. Ich habe diese Antwort gefunden, die schneller und immer noch hübsch in 256 Farben ist.Ich denke, dass Sie einen Texteditor verwenden sollten. Ich mag vim mich. Das gibt Ihnen viel Kraft beim Anzeigen von Dateien und wenn Sie sie dann bearbeiten möchten, kennen Sie bereits die Grundlagen.
Hier sind einige der Vorteile der Verwendung eines Texteditors (insbesondere von vim):
So öffnen Sie Ihre Datei im schreibgeschützten Modus:
Hier ist eine grundlegende Navigationsanleitung:
Hier ist ein Link für weitere Informationen:
http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
Nur um es noch einmal zusammenzufassen, wenn Sie Unix vim verwenden, ist das ziemlich grundlegend. Ich habe gehört, dass das Lernen von vim wie das Lernen des Schreibens ist. Es ist das nächstnützlichste Werkzeug, das Sie zum Programmieren lernen können.
(Nur um Editor-Kriege zu vermeiden, könnte man sich auch Emacs oder einen anderen Editor ansehen, aber ich persönlich bevorzuge vim)
quelle
view
ist ein Alias fürvim -R
.Wie andere gesagt haben, können Sie die Kraft von vim nutzen. Vor allem aber können Sie dies tun, ohne zu lernen, wie man vi / vim verwendet.
Vim wird mit einem
less.vim
Skript geliefert, das sich gut als Ersatz für weniger eignet und eine farbige Syntax hervorhebt. Es werdenless
Tastenkombinationen verwendet (zum Beenden einfach 'q' drücken).Es gab ein paar Probleme, also habe ich es verbessert . Hier ist ein Screenshot von meinem Blog-Beitrag (archiviert am 09.04.2013; Original wirft 503):
quelle
find /usr/share/vim -name 'less.sh'
die von diesem Kern genommen wird: gist.github.com/chauncey-garrett/9773770vimless
Befehl hinzuzufügen (vimdiff
ln -s $(find /usr/share/vim -name 'less.sh') /usr/local/bin/vimless
Ich habe auch danach gesucht und mit Vim eine andere Lösung gefunden: http://ubuntu-tutorials.com/2008/07/14/use-vim-as-a-syntax-highlighting-pager/
Der Beitrag ist ziemlich alt, daher wird ab sofort in neueren Distributionen vim 7.2 ausgeliefert und die .bashrc lautet: alias vless = 'vim -u /usr/share/vim/vim72/macros/less.vim'
quelle
:help less
Ich bin froh, ein neues Paket, e2ansi , ankündigen zu können, das Syntax-Highlighting-Unterstützung für Pager wie
more
und bietetless
.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
unde2ansi
: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):In der obigen Konfiguration wird
less
der ursprüngliche Inhalt des Terminalfensters wiederhergestellt, währendmore
nach der Eingabeaufforderung einfach neuer Inhalt ausgegeben wird.Hinweis: Wenn Sie eine alte Version von verwenden
less
, wird||
die-
Syntax oder möglicherweise nicht unterstützt. In diesem Fall müssen Sie sie möglicherweise einfach verwendenLESSOPEN=|/usr/local/emacs ...
.Verwendung
less
in RohrenDas Zeichen "-" in
LESSOPEN
gibt an, dass der Eingabefilter auch beim Einfügen von Text verwendet werden sollless
. 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 Dateidateie2ansi-magic.el
zusätzliche Dateitypen eingerichtet. Zum Beispiel:Warum Emacs benutzen?
e2ansi
bleiben die Farben im Design erhalten, wenn eine Datei in angezeigt wirdless
. Sie können aus einer Reihe von Quellen ein geeignetes Farbthema auswählen oder ein eigenes entwerfen.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./USER@HOST:FILENAME
.Nützliche Links
e2ansi
wird auf Melpa verteilt und kann mit dem Standard-Emacs-Paketsystem installiert werdene2ansi
wird auf GitHub gehostete2ansi
Seite im Emacs Wikiless
.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 vonless
für MS Windows bekannt, und die bereitgestellten Build-Dateien sind schwer zu verwenden. Glücklicherweise ist das Erstellenless
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.quelle
less
.Wenn Sie GNU Source-Highlight installiert haben, können Sie den folgenden Befehl verwenden, um die Syntax einer einzelnen Datei hervorzuheben:
quelle
src-hilite-lesspipe.sh
man Eingaben auch über eine Pipe empfangen?source-highlight
hat ein.sh
Skript in/usr/share/source-highlight/*.sh
. Ich habe einen symbolischen Link mit dem Namenhcat
in erstellt/usr/bin
.Es zeigt hervorgehobene Ausgabe im Terminal (Konsole) -
hcat
hervorgehobene Katze.Wie man:
quelle
Unter OS X 10.9 (Maverick) würde dies den Trick machen:
sudo nano /etc/launchd.conf
(Zu /etc/launchd.conf hinzufügen)
neustarten
quelle
In Mac kann man einfach tippen
view filename
, macht ähnliches wie weniger.quelle
view filename
nurvim
standardmäßig gestartet - etwas andere Tastenzuordnungen als beiless
(weitere Details finden Sie in den Antworten auf diese Frage).Nachdem ich GNU's Source-Highlight (Paket
dev-util/source-highlight
auf Sabayon / Gentoo) installiert hatte , konfigurierte ich diese Envs in/etc/bash/bashrc.d/my-less-src-highlight
:Ich wollte nicht ersetzen,
lesspipe
weil das andere Funktionen hat. Verkettung hat nicht funktioniert.quelle
Wenn Sie dieselbe Syntaxhervorhebung verwenden möchten, die Sie in Vim verwenden , aus irgendeinem Grund jedoch
less
als Pager bevorzugen , können Sie das folgende Skript verwenden: https://github.com/rkitover/vimpagerDie grundlegende Verwendung wäre:
oder
Mit können Sie
-c
zusätzliche Befehle übergeben, die sich nicht in Ihrem.vimrc
Farbschema befinden (z. B. Auswahl eines anderen Farbschemas). Der vollständige Befehl, den ich verwende, lautet:Achtung: Wenn Ihr Vim Sie beim Start auffordert, die Eingabetaste zu drücken, wird die Eingabeaufforderung nicht angezeigt, es wird jedoch nichts geschehen, bis Sie die Eingabetaste drücken! Der
cmdheight
obige Trick kann dazu beitragen, das zu mildern.quelle
Ich fand
highlight
welche:source-highlight
)pygmentize
Hier ist ein Skript, das ich aufrufe und
highlight-less-wrapper
das.bashrc
Anweisungen zur Einrichtungless
für die automatische Verwendung enthält.quelle
Ich hatte die gleiche Frage und landete, hörte, las alle Antworten und das Folgende tat ich schließlich, um die Syntax jedes Mal hervorzuheben, wenn ich
less
oder benutzemost
:Dann habe ich einen Alias für mein
less
und erstelltmost
(ich verwende ZSH, aber Sie können Aliase für Ihre.bashrc
Datei hinzufügen, wenn Sie bash verwenden):( Für diejenigen , die in vim stecken bekommen könnte: Drücken Sie igehen in den Bearbeitungsmodus, wenn Sie drücken fertig sind Escdann :dann xund schließlich Enterdie Änderungen zu speichern )
Fügen Sie die folgenden Zeilen für Debian-basierte Distributionen (wie Debian, Ubuntu, Mint usw.) ein:
oder für RPM-Distributionen (Redhat, Fedora, Centos):
Denken Sie daran , das Terminal zu schließen und erneut zu öffnen, um sicherzustellen, dass ein Alias erstellt wurde.
Jetzt können Sie die Farben genießen:
quelle