Nano può evidenziare la sintassi come gedit e vim? Come posso abilitarlo? Ho bisogno almeno dei punti salienti della sintassi bash e python.
Nano può evidenziare la sintassi come gedit e vim? Come posso abilitarlo? Ho bisogno almeno dei punti salienti della sintassi bash e python.
Risposte:
Il nano editor fornisce l'evidenziazione della sintassi per alcune lingue e script da solo. Check-out/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
Collegali al file di configurazione nano del tuo utente presente ~/.nanorccon qualcosa di simile a questa linea:
nits@nits-excalibur:~$ cat ~/.nanorc
include /usr/share/nano/sh.nanorc
Ora, l'evidenziazione della sintassi è abilitata in nano per qualsiasi file collegato (è anche possibile collegare più file)

Nota: a volte potresti ricevere un segmentation faultdopo aver modificato il tuo ~/.nanorcfile. Se si verifica un errore del genere, è utile annullare l' impostazione della variabile di ambiente LANG . Puoi disinserirlo con unset LANGnel terminale. (Soluzione ottenuta da qui )
Ci sono anche altre soluzioni se non sei soddisfatto dell'evidenziazione bash. Un esempio di questo può essere trovato qui
Puoi anche scrivere include /usr/share/nano/*nel file ~ / .nanorc per abilitare l'evidenziazione di tutte le lingue se la tua versione nano lo supporta.
/etc/nanorc- le impostazioni globali vengono sovrascritte ~/.nanorc? Come disabilito .nanorc?
~/.nanorcfile.
includemai l'impostazione globale con tutte le linee non abilita i punti salienti della sintassi, anche se non l'ho fatto .nanorc?
ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorcaggiungili tutti al tuo file .nanorc o crealo se non esiste.
include /usr/share/nano/*non funziona
Sì, puoi, tuttavia le definizioni di sintassi predefinite sono piuttosto scadenti e incomplete. Sto mantenendo un insieme più preciso di definizioni qui , per chiunque le trovi utili.
Per installare, eseguire:
git clone https://github.com/nanorc/nanorc.git
cd nanorc
make install
Aggiungi queste righe a ~ / .nanorc
include ~/.nano/syntax/html.nanorc
include ~/.nano/syntax/css.nanorc
include ~/.nano/syntax/php.nanorc
include ~/.nano/syntax/ALL.nanorc
Specifica quelli per cui desideri colorare, e dovrai accordare questi colori in base alle tue preferenze. La ALL.nanorcdescrive le funzioni per tutti i file ancora non classificate. Questi sono gli strumenti necessari per iniziare, non il prodotto finale lucido.
Ho usato questo comando per abilitare rapidamente tutte le lingue disponibili.
find /usr/share/nano/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc
Come menzionato in altre risposte, /usr/share/nano/contiene le definizioni per diverse lingue.
$ 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
Inoltre, per consentire l'evidenziazione di una lingua, aggiungi includee il percorso della definizione della lingua che desideri abilitare nel tuo ~/.nanorcfile. Quindi, ad esempio, per abilitare C / C ++ devi aggiungere questa riga.
include /usr/share/nano/c.nanorc
Il findcomando cerca file o directory all'interno della directory specificata.
-inameflag indica che cerca solo i file con un nome che termina .nanorc.-execflag definiscono un comando da eseguire su ogni file trovato.{}viene sostituito con il nome del file.\;è usato per indicare la fine del comando da eseguire al findcomando.>> ~/.nanorcfa sì che l'output venga aggiunto al tuo ~/.nanorcfile.Ciò dovrebbe includere tutti i plug-in di evidenziazione della sintassi inclusi per impostazione predefinita e quelli aggiunti a / usr / share / nano:
find /usr/share/nano -name '*.nanorc' -printf "include %p\n" > ~/.nanorc
Oppure modifica / etc / nanorc e vedi se riesci a rimuovere il commento dalle inclusioni.
Funziona se hai una versione di nano che rifiuta di accettare i caratteri jolly nel file .nanorc.
Esegui questa riga ogni volta che aggiungi un'ulteriore configurazione di colore .nanorc.
Ho un po 'di evidenziazione della sintassi nano nel mio github .
Esistono schermate di esempio dal vivo per html e php:

e

Puoi usarlo per includere tutto: (aggiungi questo al file ~ / nanorc)
include "/usr/share/nano/*.nanorc"
Buona programmazione!
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
I hilighter di sintassi più completi e aggiornati per nano sono mantenuti qui .
Per installare tutti gli evidenziatori per il tuo utente basta eseguire:
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. Il contenuto della /tmpcartella verrà eliminato ad ogni avvio del sistema e pertanto non è possibile eseguire a git pull.
jsnon è basho shell-scripte ho inserito il link dietro la parola here. Dov'è il problema?
make installtutti i file di sintassi vengono copiati sul luogo sicuro a cui appartengono: ~/.nano/syntax.
Per coloro che hanno problemi dopo aver seguito le istruzioni sopra, controlla anche se hai definizioni duplicate . Ciò disabiliterà l' evidenziazione di tutta la sintassi per tutti i file . Mi sono imbattuto in questo dopo aver aggiunto un nanorc.nanorcfile e non aver realizzato che la mia ~/.nanorcaveva già una sezione identica, ovvero:
## 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)\>"
(...)
Ho trovato l'evidenziazione della sintassi per js qui .
L'ho aggiunto nel mio file utente all'indirizzo ~/.nanorc
Tuttavia, per ottenere un file nel quale poterlo aggiungere, per prima cosa ho dovuto copiarlo /usr/share/nano/nanorc.nanorcnella mia cartella locale ~/.nanorc.
Ho disabilitato accidentalmente l'evidenziazione usando la scorciatoia da tastiera Alt+ Y. Può essere riacceso con la stessa scorciatoia da tastiera.
So che è un vecchio thread, ma la mia soluzione può essere d'aiuto
modifica il file in / etc / nanorc
Dalla linea 243 puoi trovare molti file include. Basta decommentare quelli di cui hai bisogno, salvare e fare.
## 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"
Non sono sicuro che se aggiorni nano queste modifiche svaniranno.
Ho appena creato questo script per aggiungere i colori a nano: Ma ovviamente devi avere i codici colore in / usr / share / nano affinché funzioni. Se ci sono errori: basta modificare manualmente il file ~ / .nanorc e rimuovere le righe che danno gli errori.
#!/bin/bash
for i in `ls /usr/share/nano`
do
echo "include /usr/share/nano/$i" >> ~/.nanorc
done