Manchmal möchte ich schnell den Inhalt einer Datei über die Befehlszeile anzeigen. Dafür verwende ich natürlich cat
, aber es handelt sich oft um Quelldateien in Python , Java oder einfachem HTML . Für diese Dateien wäre es praktisch, wenn Sie cat
den Dateien eine Farbmarkierung geben könnten, damit sie einfacher gelesen werden können.
Kann cat
so etwas tun?
cat -v
als schädlich .Antworten:
cat
kann das nicht. Aber vielleicht pygments kann in der Lage sein , Sie dort zu helfen. Es ist ein Python-Skript und kann entweder über apt-get installiert werdenoder einfach über easy_install heruntergeladen und installiert.
Es unterstützt viele Quellcode- Sprachen und auch Markup-Sprachen
Es wird von verwendet
quelle
pygmentize -g <filename>
, der-g
Schalter ist wichtig, um Dateien ohne Lexer zu verarbeiten. Wenn Sie beispielsweise versuchen,/etc/fstab
zu öffnen, ohne dass-g
dies fehlschlägt.pygmentize --help
wenn-g
übergeben, versuchen, den Lexer aus dem Dateiinhalt zu erraten, oder als Klartext durchgehen, wenn dies fehlschlägt (dies kann für stdin funktionieren).funced cat... type pygmentize -g $argv... save..funcsave cat
.bashrc
ich hinzugefügt:command -v pygmentize >/dev/null 2>&1 && alias cat='pygmentize -g'
Nicht von
cat
sich aus, aber Sie können so etwas wie Source Highlite oder Supercat oder Highlight verwendenOder mit einer Funktion ( Quelle ):
Benötigt: Pygments (
sudo apt-get install python-pygments python3-pygments
) Füge es als Funktion hinzu, um .functions zu aktivieren und gib ihm einen Namen wie color ()quelle
Wie aus dieser Antwort hier können Sie die Verwendung von
python-pygments
Paketen zu Highlight Sachen. Zuerst machen Sie:dann:
dann probieren Sie es aus:
Sie können es auch als Alias festlegen, wie in der Antwort, die ich verlinkt habe. Führen Sie im Grunde Folgendes aus:
Schließen Sie das Terminal, öffnen Sie es erneut, und der
catc
Befehl sollte jetzt funktionieren. Wenn dies nicht der Fall ist, vergewissern Sie sich, dass sich diese Zeilen in der.bashrc
Datei befinden und nicht kommentiert sind:Eine andere Sache wäre, einfach zu benutzen
nano
:quelle
man view
oderman vim
Grundsätzliche Verwendung:
view <filename>
Beenden:
:q<Return>
(<Esc>
bei Verwendung ein erstes hinzufügenvim
) oderZZ
(zweimal z in Großbuchstaben).Der Texteditor des Programmierers
vim
verfügt bereits über alles, was Sie benötigen, und ist wahrscheinlich bereits Teil Ihres Systems.vim
hat einen Nur-Lese-Modus mitview
oder aktiviertvim -R
. Wenn Sie nur die markierte Datei anzeigen möchten, sollte dies ausreichen.Einfach zu bedienen, navigierbar und überall verfügbar. Sie müssen sich nicht mit der Installation neuer Software oder dem Schreiben von Bash-Skripten herumärgern.
quelle
vim
oderview
, du gibst es einfach mit der Datei an :,view file.py
also kein Unterschied da mitcat
. Klar musst du es schließen, aber wirklich,:q<Return>
oder esZZ
sind keine schwierigen Aufgaben.Man kann ccat auschecken .
Es fügt den Ausgabedateien eine Syntaxhervorhebung hinzu.
quelle
cat
kann nicht nur Syntax-Hervorhebungen erzeugen. Trotzdem können Sie dies wie folgt mit tunpython-pygments
. Zuerst vom Terminal installieren als,Kopieren Sie nun die unten stehende Funktion
~/.bashrc
. Es wird Ihnen geben, was Sie wollen, und es wird die Eigenschaften bewahren,cat
ansonsten gibt es keinen Grund für die Verwendungcat
Quelle
~/.bashrc
als,Es wird farbige Ausgabe geben,
Es wird auch mit Farbe verketten,
quelle
pygmentize?
ich es mit einem Befehl des Formularsxterm -e "pygmentize -g <filename>"
öffne und stelle fest, dass der einzige Weg zum Scrollen die Verwendung der Bildlaufleiste ist. Ich habe versucht, die Ausgabe an zu leiten,less
aber das führte zu einer Müllausgabe.pygmentize
mit weniger verwenden. Erstellen Sie eine Bash-Funktionlessc
wie folgt:lessc () { pygmentize -gf terminal "$1" | less -R }
Bat - Ein Katzenklon mit Flügeln
Möglicherweise möchten Sie auch überprüfen,
bat
welche der folgenden Funktionen verfügt:less
cat
umgeleitete DateienVorschau
Foto vom offiziellen GitHub
Installation
Sie können das neueste Debian-Paket hier herunterladen und installieren mit:
Anpassen von Versionsnummer und Architektur.
quelle
Andere Antworten decken ab, warum dies
cat
nicht möglich ist. Mit lesspipe.sh können Sie es mit weniger tun .quelle
Anstatt ein Paket eines Drittanbieters zu installieren, können Sie einfach
gedit
eine Datei mit Syntaxhervorhebung anzeigen. Kopieren Sie zum Beispiel die Adressleiste oben und fügen Sie sie in Ihr Terminal ein:Sie werden diese Frage in HTML mit formatierten Farben sehen:
gedit
Navigationstasten verwendencat
ohne dass Tastatureingaben erforderlich sind.quelle