Wie kann ich die Syntaxhervorhebung in Nano aktivieren?

Kann nano Syntaxhervorhebung wie gedit und vim? Wie kann ich sie aktivieren? Ich brauche zumindest Bash und Python Syntax-Highlights.

Lösung

Der nano-Editor bietet von sich aus Syntax-Hervorhebung für einige Sprachen und Skripte. Sehen Sie sich /usr/share/nano/ an.

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 sich unter ~/.nanorc befindet, mit etwas, das dieser Zeile ähnelt:

nits@nits-excalibur:~$ cat ~/.nanorc
include /usr/share/nano/sh.nanorc

Jetzt ist die Syntaxhervorhebung in nano für die Datei, die Sie verknüpft haben, aktiviert (Sie können auch mehrere Dateien verknüpfen)

Hinweis: Manchmal kann es vorkommen, dass Sie einen Segmentierungsfehler bekommen, nachdem Sie Ihre ~/.nanorc-Datei bearbeitet haben. Wenn ein solcher Fehler auftritt, hilft es, die Umgebungsvariable LANG zu deaktivieren. Sie können sie mit unset LANG im Terminal zurücksetzen. (Die Lösung stammt von hier)

Es gibt auch andere Lösungen, wenn Sie mit Ihrem Bash-Highlighting nicht zufrieden sind. Ein Beispiel für eine solche Lösung finden Sie hier

Sie können auch include /usr/share/nano/* in die Datei ~/.nanorc schreiben, damit alle Sprachen hervorgehoben werden, wenn Ihre nano-Version dies unterstützt.

Kommentare (16)

Ja, man kann, aber die Standard-Syntax-Definitionen sind ziemlich schlecht und unvollständig. Ich pflege einen genaueren Satz von Definitionen hier, für jeden, der sie nützlich findet.

Zum Installieren, führen Sie aus:

git clone github.com/scopatz/nanorc.git
cd nanorc
make install

Fügen Sie diese Zeilen in die ~/.nanorc

include ~/.nano/syntax/html.nanorc
include ~/.nano/syntax/css.nanorc
include ~/.nano/syntax/php.nanorc
include ~/.nano/syntax/ALL.nanorc

Geben Sie die Dateien an, für die Sie eine Einfärbung wünschen, und Sie müssen diese Farben an Ihre Vorlieben anpassen. Die ALL.nanorc beschreibt Funktionen für alle noch nicht klassifizierten Dateien. Dies sind die Werkzeuge, die Sie für den Anfang brauchen, nicht das fertige Produkt.

Kommentare (10)
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
Kommentare (1)