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 ~/.nanorcin 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 faultnachdem Sie Ihre ~/.nanorcDatei bearbeitet haben . Wenn ein solcher Fehler auftritt, hilft es, die Umgebungsvariable LANG zu deaktivieren . Sie können es mit unset LANGim 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/nanorcdie globalen Einstellungen von überschrieben ~/.nanorc? Wie deaktiviere ich .nanorc?
~/.nanorcAkte.
includeZeilen keine Syntaxhervorhebungen aktiviert, obwohl ich dies nicht .nanorcgetan habe ?
ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorcHä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.nanorcbeschreibt 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 includeSie Ihrer ~/.nanorcDatei 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 findBefehl sucht nach Dateien oder Verzeichnissen innerhalb des angegebenen Verzeichnisses.
-inameFlag weist es an, nur nach Dateien zu suchen, deren Name mit "" endet .nanorc.-execFlags 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.>> ~/.nanorcdie Ausgabe an Ihre ~/.nanorcDatei 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 /tmpOrdners wird bei jedem Systemstart gelöscht und Sie könnten daher niemals einen ausführen git pull.
jsist nicht bashoder shell-scriptund ich habe den Link hinter das Wort gesetzt here. Wo ist das Problem?
make installalle 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.nanorcDatei hinzugefügt hatte , und habe nicht bemerkt, dass meine ~/.nanorcbereits 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.nanorcin 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