Kann nano Syntaxhervorhebungen wie gedit und vim durchführen? Wie kann ich es aktivieren? Ich brauche mindestens Bash- und Python-Syntax-Highlights.
Kann nano Syntaxhervorhebungen wie gedit und vim durchführen? Wie kann ich es aktivieren? Ich brauche mindestens Bash- und Python-Syntax-Highlights.
Antworten:
Der Nano-Editor bietet Syntax-Hervorhebungen für einige Sprachen und Skripte. Auschecken/usr/share/nano/
nits@nits-excalibur:~$ ls /usr/share/nano/
asm.nanorc fortran.nanorc man.nanorc ocaml.nanorc ruby.nanorc
awk.nanorc gentoo.nanorc mgp.nanorc patch.nanorc sh.nanorc
c.nanorc groff.nanorc mutt.nanorc perl.nanorc tcl.nanorc
cmake.nanorc html.nanorc nano-menu.xpm php.nanorc tex.nanorc
css.nanorc java.nanorc nanorc.nanorc pov.nanorc xml.nanorc
debian.nanorc makefile.nanorc objc.nanorc python.nanorc
Verknüpfen Sie sie mit der Nano-Konfigurationsdatei Ihres Benutzers, die ~/.nanorc
in der folgenden Zeile angezeigt wird:
nits@nits-excalibur:~$ cat ~/.nanorc
include /usr/share/nano/sh.nanorc
Jetzt ist die Syntaxhervorhebung in Nano für jede verknüpfte Datei aktiviert (Sie können auch mehrere Dateien verknüpfen).
Hinweis: Manchmal erhalten Sie möglicherweise eine, segmentation fault
nachdem Sie Ihre ~/.nanorc
Datei bearbeitet haben . Wenn ein solcher Fehler auftritt, hilft es, die Umgebungsvariable LANG zu deaktivieren . Sie können es mit unset LANG
im Terminal deaktivieren . (Lösung von hier erhalten )
Es gibt auch andere Lösungen, wenn Sie mit Ihrer Bash-Hervorhebung nicht zufrieden sind. Ein Beispiel dafür finden Sie hier
Sie können auch include /usr/share/nano/*
in die ~ / .nanorc-Datei schreiben , um alle Sprachen hervorzuheben, wenn Ihre Nano-Version dies unterstützt.
/etc/nanorc
die globalen Einstellungen von überschrieben ~/.nanorc
? Wie deaktiviere ich .nanorc
?
~/.nanorc
Akte.
include
Zeilen keine Syntaxhervorhebungen aktiviert, obwohl ich dies nicht .nanorc
getan habe ?
ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorc
Hängen Sie sie alle an Ihre .nanorc-Datei an oder erstellen Sie sie, wenn sie nicht vorhanden ist.
include /usr/share/nano/*
funktioniert nicht
Ja, Sie können, aber die Standard-Syntaxdefinitionen sind ziemlich schlecht und unvollständig. Ich bin eine genauere Reihe von Definitionen beibehalten hier , für jeden, den sie nützlich findet.
Führen Sie zum Installieren Folgendes aus:
git clone https://github.com/nanorc/nanorc.git
cd nanorc
make install
Fügen Sie diese Zeilen zum ~ / .nanorc hinzu
include ~/.nano/syntax/html.nanorc
include ~/.nano/syntax/css.nanorc
include ~/.nano/syntax/php.nanorc
include ~/.nano/syntax/ALL.nanorc
Geben Sie die Farben an, für die Sie Kolorieren möchten, und Sie müssen diese Farben an Ihre Vorlieben anpassen. Das ALL.nanorc
beschreibt Funktionen für alle noch nicht klassifizierten Dateien. Dies sind die Werkzeuge, die Sie brauchen, um loszulegen, nicht das Endprodukt.
Ich habe diesen Befehl verwendet, um schnell alle verfügbaren Sprachen zu aktivieren.
find /usr/share/nano/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc
Wie in anderen Antworten erwähnt, /usr/share/nano/
enthält die Definitionen für verschiedene Sprachen.
$ ls /usr/share/nano
asm.nanorc fortran.nanorc man-html ocaml.nanorc ruby.nanorc
awk.nanorc gentoo.nanorc man.nanorc patch.nanorc sh.nanorc
cmake.nanorc groff.nanorc mgp.nanorc perl.nanorc tcl.nanorc
c.nanorc html.nanorc mutt.nanorc php.nanorc tex.nanorc
css.nanorc java.nanorc nanorc.nanorc pov.nanorc xml.nanorc
debian.nanorc makefile.nanorc objc.nanorc python.nanorc
Um die Hervorhebung für eine Sprache zu aktivieren, fügen include
Sie Ihrer ~/.nanorc
Datei auch den Pfad zu der Sprachdefinition hinzu, die Sie aktivieren möchten . Um beispielsweise C / C ++ zu aktivieren, fügen Sie diese Zeile hinzu.
include /usr/share/nano/c.nanorc
Der find
Befehl sucht nach Dateien oder Verzeichnissen innerhalb des angegebenen Verzeichnisses.
-iname
Flag weist es an, nur nach Dateien zu suchen, deren Name mit "" endet .nanorc
.-exec
Flags definieren einen Befehl, der für jede gefundene Datei ausgeführt werden soll.{}
wird durch den Dateinamen ersetzt.\;
wird verwendet, um das Ende des Befehls zu kennzeichnen, der für den Befehl ausgeführt werden soll find
.>> ~/.nanorc
die Ausgabe an Ihre ~/.nanorc
Datei angehängt .Dies sollte alle standardmäßig enthaltenen Syntax-Hervorhebungs-Plugins und alle Plugins enthalten, die Sie zu / usr / share / nano hinzufügen:
find /usr/share/nano -name '*.nanorc' -printf "include %p\n" > ~/.nanorc
Oder bearbeiten Sie / etc / nanorc und prüfen Sie, ob Sie die Includes auskommentieren können.
Dies funktioniert, wenn Sie eine Version von nano haben, die keine Platzhalter in der .nanorc-Datei akzeptiert.
Führen Sie diese Zeile einfach jedes Mal aus, wenn Sie eine zusätzliche .nanorc-Farbkonfiguration hinzufügen.
Ich habe einige Nano-Syntax-Hervorhebungen an meinem Github .
Es gibt Live-Screenshots für HTML und PHP:
und
Sie können dies verwenden, um alle einzuschließen: (Fügen Sie dies zu ~ / nanorc hinzu.)
include "/usr/share/nano/*.nanorc"
Viel Spaß beim Codieren!
wget -r -nH --cut-dirs=3 --no-parent --reject="index.html*" https://nanosyntax.googlecode.com/svn/trunk/syntax-nanorc/ -P ~/.nano-syntax
for i in `ls --color=never -1 ~/.nano-syntax/*.nanorc` ; do echo "include $i" >> ~/.nanorc ; done
Die vollständigste und aktuelle Syntax hilighters für nano erhalten bleiben hier .
Um alle Textmarker für Ihren Benutzer zu installieren, führen Sie einfach Folgendes aus:
cd /tmp
git clone https://github.com/tech4david/nano-highlight.git
cd nano-highlight/
make install
echo "include ~/.nano/syntax/ALL.nanorc" >> ~/.nanorc
git clone
. Der Inhalt des /tmp
Ordners wird bei jedem Systemstart gelöscht und Sie könnten daher niemals einen ausführen git pull
.
js
ist nicht bash
oder shell-script
und ich habe den Link hinter das Wort gesetzt here
. Wo ist das Problem?
make install
alle Syntaxdateien in den sicheren Ort kopiert werden , wo sie hingehören: ~/.nano/syntax
.
Wenn Sie Probleme haben, nachdem Sie die obigen Anweisungen befolgt haben, überprüfen Sie auch, ob Sie doppelte Definitionen haben . Dadurch wird die Syntaxhervorhebung für alle Dateien deaktiviert . Ich bin darauf gestoßen, nachdem ich eine nanorc.nanorc
Datei hinzugefügt hatte , und habe nicht bemerkt, dass meine ~/.nanorc
bereits einen identischen Abschnitt hatte, dh:
## Here is an example for nanorc files.
##
syntax "nanorc" "\.?nanorc$"
## Possible errors and parameters
icolor brightwhite "^[[:space:]]*((un)?set|include|syntax|i?color).*$"
## Keywords
icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(autoindent|backup|$
icolor green "^[[:space:]]*(set|unset|include|syntax)\>"
(...)
Ich habe hier eine Syntaxhervorhebung für js gefunden .
Ich habe es an meine Benutzerdatei angehängt ~/.nanorc
Um jedoch eine Datei zu erhalten, in die ich anhängen konnte, musste ich sie zuerst /usr/share/nano/nanorc.nanorc
in meinen lokalen Ordner als kopieren ~/.nanorc
.
Ich habe versehentlich die Hervorhebung mit der Tastenkombination Alt+ deaktiviert Y. Es kann mit derselben Tastenkombination wieder eingeschaltet werden.
Ich weiß, dass es ein alter Thread ist, aber möglicherweise kann meine Lösung helfen
Bearbeiten Sie die Datei unter / etc / nanorc
In der Zeile 243 finden Sie viele Include-Dateien. Einfach die benötigten auskommentieren, speichern und fertig.
## Nanorc files
include "/usr/share/nano/nanorc.nanorc"
## C/C++
include "/usr/share/nano/c.nanorc"
## Makefiles
include "/usr/share/nano/makefile.nanorc"
## Cascading Style Sheets
include "/usr/share/nano/css.nanorc"
## Debian files
include "/usr/share/nano/debian.nanorc"
## Gentoo files
# include "/usr/share/nano/gentoo.nanorc"
Ich bin mir nicht sicher, ob diese Änderungen verschwunden sind, wenn Sie nano aktualisieren.
Ich habe gerade dieses Skript erstellt, um die Farben zu nano hinzuzufügen: Aber natürlich müssen Sie die Farbcodes in / usr / share / nano haben, damit dies funktioniert. Wenn Fehler auftreten: Bearbeiten Sie die ~ / .nanorc-Datei einfach manuell und entfernen Sie die fehlerhaften Zeilen.
#!/bin/bash
for i in `ls /usr/share/nano`
do
echo "include /usr/share/nano/$i" >> ~/.nanorc
done