Domanda Come abilitare l'evidenziazione della sintassi in nano?


È possibile fare l'evidenziazione della sintassi come gedit e vim? Come posso abilitarlo? Ho bisogno almeno di evidenziare la sintassi di bash e python.


149
2017-12-23 15:20


origine


Grazie mille per i file di sintassi nel repository git, lo uso su tutti i miei server ora ... continua il buon lavoro amico !!!
@ TheGene Commento e grazie per la risposta. Gli viene accreditato il repo, non io, quello che fa la domanda. - Oxwivi


risposte:


L'editor nano 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 a ~/.nanorc con 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 (puoi anche collegare più file)

screenshot of syntax highlighting

Nota: a volte potresti ottenere un segmentation fault dopo aver modificato il tuo ~/.nanorc file. Se si verifica tale errore, disattivare il LANG la variabile d'ambiente aiuta. Puoi disinserirlo con unset LANG nel terminale. (Soluzione ottenuta da Qui)

Esistono anche altre soluzioni se non sei soddisfatto della tua evidenziazione bash. Un esempio di tale può essere trovato Qui

Puoi anche scrivere include /usr/share/nano/* al file ~ / .nanorc per abilitare tutte le lingue da evidenziare se la tua versione nano lo supporta.


148
2017-12-23 16:07



Queste righe sono senza commento /etc/nanorc - le impostazioni globali vengono sovrascritte da ~/.nanorc? Come disabilitare .nanorc? - Oxwivi
Oh aspetta, non ne ho nemmeno uno ~/.nanorc file. - Oxwivi
Aspetta, aspetta, come mai l'impostazione globale con tutto il include linee che non abilitano le evidenziazioni della sintassi anche se non l'ho fatto .nanorc? - Oxwivi
ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorc aggiungili tutti al tuo file .nanorc o creali se non esiste. - Thom Porter
include /usr/share/nano/* non funziona - Jarek Jakubowski


Sì, è possibile, tuttavia le definizioni di sintassi predefinite sono piuttosto scarse e incomplete. Sto mantenendo un insieme più accurato di definizioni Qui, per chiunque li trovi utili.

Per installare, eseguire:

git clone https://github.com/nanorc/nanorc.git
cd nanorc
make install

Aggiungi queste linee al ~ / .nanorc

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

Specificare quelli per cui si desidera avere la colorazione e si dovranno accordare questi colori alle proprie preferenze. Il ALL.nanorc descrive le funzionalità per tutti i file non ancora classificati. Questi sono gli strumenti necessari per iniziare, non il prodotto fine lucidato.


72
2017-08-27 16:17



Grazie per aver mantenuto quelle belle definizioni di sintassi in GitHub. - Rubens Mariuzzo
I miei file * .js non funzionavano ... modificati / etc / nanorc per rimuovere qualsiasi altra sintassi inclusa nelle FAQ github.com/nanorc/.... Nano nanorc - Carlton
Ho appena installato i tuoi difetti di sintassi su Mac OSX. C'è solo una cosa che vorrei notare, che è il colore nero della parentesi aperta in pitone si perde contro lo sfondo nero del mio terminale - Tom Busby
In realtà c'è un problema, parte del testo colorato è nero! Se il nostro sfondo del terminale è nero, queste parole sono invisibili! - dukevin
+ druciferre fornisce un grande comando qui sotto che aggiunge automaticamente tutti i file di sintassi al tuo file .nanorc. Ho cambiato il percorso in modo che punti al percorso di installazione predefinito: find $HOME/.nano/syntax/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc - wasatchwizard


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 abilitare l'evidenziazione per una lingua, aggiungete include e il percorso per la definizione della lingua che vuoi abilitare al tuo ~/.nanorc file. Ad esempio, per abilitare C / C ++ si dovrebbe aggiungere questa linea.

include /usr/share/nano/c.nanorc

Il find comando cerca per file o directory all'interno della directory specificata.

  • Il -iname flag dice di cercare solo i file con un nome che termina con .nanorc.
  • Il -exec flags definisce un comando da eseguire su ogni file trovato.
  • Il {} viene sostituito con il nome del file.
  • \; viene utilizzato per indicare la fine del comando da eseguire su find comando.
  • Da ultimo, >> ~/.nanorc fa in modo che l'output venga aggiunto al tuo ~/.nanorc file.

37
2017-10-18 18:22



ottimo consiglio e spiegazione, grazie mille amico! ;) - daveoncode


Questo dovrebbe includere tutti i plugin di evidenziazione della sintassi inclusi per impostazione predefinita e tutti quelli che aggiungi a / usr / share / nano:

find /usr/share/nano -name '*.nanorc' -printf "include %p\n" > ~/.nanorc

Oppure, modifica / etc / nanorc e vedi se riesci a decommentare gli include.

Funziona se hai una versione di nano che si rifiuta di accettare i caratteri jolly nel file .nanorc.

Esegui questa linea ogni volta che aggiungi una configurazione di colori .nanorc aggiuntiva.


6
2017-12-28 14:23





Ho alcune evidenze sulla nano sintassi a il mio github.

Esistono schermate di esempio dal vivo per html e php:

enter image description here

e

enter image description here


2
2018-05-03 06:57





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

1
2018-06-28 03:08



Sarebbe utile se potessi spiegare perché questa è una risposta utile per i nuovi utenti. Cosa sta facendo il comando? Cosa cambia? Suggerire a caso di eseguire una riga di comando non è utile. - Kevin Bowen


Vengono mantenuti gli hilighters di sintassi più completi e aggiornati per nano Qui.

Per installare tutti gli evidenziatori per il tuo utente, esegui semplicemente:

cd /tmp
git clone https://github.com/tech4david/nano-highlight.git
cd nano-highlight/
make install
echo "include ~/.nano/syntax/ALL.nanorc" >> ~/.nanorc

1
2017-07-29 10:21



La soluzione è buona, ma vorrei usare un'altra cartella per git clone. Il contenuto di /tmp la cartella verrà eliminata all'avvio di ogni sistema e quindi non potresti mai eseguire a git pull. - A.B.
Il tuo tag di lingua è sbagliato. js non è bash o shell-script e ho inserito il link dietro la parola here. Dov'è il problema? - A.B.
@ A.b. non importa se quella cartella è sparita da quando tu make install tutti i file di sintassi vengono copiati nel posto sicuro a cui appartengono: ~/.nano/syntax. - Pablo Bianchi