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 ~/.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 (è anche possibile collegare più file)
Nota: a volte potresti ricevere un segmentation fault
dopo aver modificato il tuo ~/.nanorc
file. Se si verifica un errore del genere, è utile annullare l' impostazione della variabile di ambiente LANG . Puoi disinserirlo con unset LANG
nel 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
?
~/.nanorc
file.
include
mai 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 \//' >> ~/.nanorc
aggiungili 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.nanorc
descrive 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 include
e il percorso della definizione della lingua che desideri abilitare nel tuo ~/.nanorc
file. Quindi, ad esempio, per abilitare C / C ++ devi aggiungere questa riga.
include /usr/share/nano/c.nanorc
Il find
comando cerca file o directory all'interno della directory specificata.
-iname
flag indica che cerca solo i file con un nome che termina .nanorc
.-exec
flag 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 find
comando.>> ~/.nanorc
fa sì che l'output venga aggiunto al tuo ~/.nanorc
file.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 /tmp
cartella verrà eliminato ad ogni avvio del sistema e pertanto non è possibile eseguire a git pull
.
js
non è bash
o shell-script
e ho inserito il link dietro la parola here
. Dov'è il problema?
make install
tutti 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.nanorc
file e non aver realizzato che la mia ~/.nanorc
aveva 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.nanorc
nella 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