Hvordan aktiverer jeg syntaksutheving i nano?

Kan nano gjøre syntaksutheving som gedit og vim? Hvordan kan jeg aktivere det? Jeg trenger i det minste syntaksutheving i bash og python.

Løsning

Editoren nano har syntaksutheving for noen få språk og skript i seg selv. Ta en titt på /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

Koble dem til brukerens nano-konfigurasjonsfil på ~/.nanorc med noe som ligner på denne linjen:

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

Nå er syntaksutheving aktivert i nano for den filen du har lenket til (du kan også lenke til flere filer).

Skjermbilde av syntaksutheving]1.

Merk: Noen ganger kan du få en segmenteringsfeil etter at du har redigert filen ~/.nanorc. Hvis en slik feil oppstår, hjelper det å fjerne miljøvariabelen LANG. Du kan fjerne den med unset LANG i terminalen. (Løsning hentet fra her)

Det finnes også andre løsninger hvis du ikke er fornøyd med uthevingen i bash. Et eksempel på en slik finner du her

Du kan også skrive include /usr/share/nano/* til ~/.nanorc-filen for å markere alle språk hvis nano-versjonen din støtter det.

Kommentarer (16)

Ja, det kan du, men standardsyntaksdefinisjonene er ganske dårlige og ufullstendige. Jeg vedlikeholder et mer nøyaktig sett med definisjoner her, for alle som synes de er nyttige.

For å installere, kjør:

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

Legg til disse linjene i ~/.nanorc

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

Spesifiser de filene du vil ha fargelegging for, og du må tilpasse disse fargene til dine preferanser. ALL.nanorc beskriver funksjoner for alle filer som ennå ikke er klassifisert. Dette er verktøyene du trenger for å komme i gang, ikke det ferdige produktet.

Kommentarer (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
Kommentarer (1)