Nano peut-il mettre en évidence la syntaxe comme gedit et vim? Comment puis-je l'activer? J'ai besoin d'au moins bash et de faits saillants de syntaxe python.
Nano peut-il mettre en évidence la syntaxe comme gedit et vim? Comment puis-je l'activer? J'ai besoin d'au moins bash et de faits saillants de syntaxe python.
Réponses:
L'éditeur nano fournit la coloration syntaxique pour quelques langues et scripts. 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
Associez-les au fichier de configuration nano de votre utilisateur, présent à ~/.nanorc
quelque chose de similaire à cette ligne:
nits@nits-excalibur:~$ cat ~/.nanorc
include /usr/share/nano/sh.nanorc
La mise en évidence de la syntaxe est maintenant activée dans nano pour le fichier que vous avez lié (vous pouvez également lier plusieurs fichiers)
Remarque: Vous pouvez parfois recevoir un message segmentation fault
après avoir modifié votre ~/.nanorc
fichier. Si une telle erreur se produit, il est utile de désactiver la variable d’environnement LANG . Vous pouvez le désactiver unset LANG
dans le terminal. (Solution obtenue d' ici )
Il existe également d'autres solutions si vous n'êtes pas satisfait de votre mise en évidence bash. Vous en trouverez un exemple ici
Vous pouvez également écrire include /usr/share/nano/*
dans le fichier ~ / .nanorc pour permettre à toutes les langues d'être mises en surbrillance si votre version nano le prend en charge.
/etc/nanorc
- les paramètres globaux sont-ils écrasés ~/.nanorc
? Comment puis-je désactiver .nanorc
?
~/.nanorc
fichier.
include
lignes n'active pas la syntaxe en surbrillance alors que je ne l'ai pas encore fait .nanorc
?
ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorc
ajoutez-les tous à votre fichier .nanorc ou créez-le s'il n'existe pas.
include /usr/share/nano/*
ne fonctionne pas
Oui, vous pouvez, mais les définitions de syntaxe par défaut sont assez pauvres et incomplètes. Je suis maintenant un ensemble plus précise des définitions ici , pour tous ceux qui les trouve utiles.
Pour installer, lancez:
git clone https://github.com/nanorc/nanorc.git
cd nanorc
make install
Ajoutez ces lignes au ~ / .nanorc
include ~/.nano/syntax/html.nanorc
include ~/.nano/syntax/css.nanorc
include ~/.nano/syntax/php.nanorc
include ~/.nano/syntax/ALL.nanorc
Spécifiez ceux pour lesquels vous souhaitez colorier et vous devrez ajuster ces couleurs à vos préférences. Le ALL.nanorc
décrit les fonctionnalités pour tous les fichiers encore non classés. Ce sont les outils dont vous avez besoin pour commencer, pas le produit fini.
J'ai utilisé cette commande pour activer rapidement toutes les langues disponibles.
find /usr/share/nano/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc
Comme mentionné dans d'autres réponses, /usr/share/nano/
contient les définitions pour différentes langues.
$ 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
De plus, pour activer la mise en surbrillance d'une langue, vous ajoutez include
le chemin d'accès à la définition de langue que vous souhaitez activer pour votre ~/.nanorc
fichier. Ainsi, par exemple, pour activer C / C ++, vous ajouteriez cette ligne.
include /usr/share/nano/c.nanorc
La find
commande recherche des fichiers ou des répertoires dans le répertoire spécifié.
-iname
indicateur lui dit de ne rechercher que les fichiers dont le nom se termine par .nanorc
.-exec
indicateurs définissent une commande à exécuter sur chaque fichier trouvé.{}
est remplacé par le nom du fichier.\;
est utilisé pour signifier la fin de la commande à exécuter à la find
commande.>> ~/.nanorc
la sortie est ajoutée à votre ~/.nanorc
fichier.Cela devrait inclure tous les plugins de coloration syntaxiques inclus par défaut, et tous ceux que vous ajoutez à / usr / share / nano:
find /usr/share/nano -name '*.nanorc' -printf "include %p\n" > ~/.nanorc
Ou bien, éditez / etc / nanorc et voyez si vous pouvez supprimer le commentaire.
Cela fonctionne si vous avez une version de nano qui refuse d’accepter les caractères génériques dans le fichier .nanorc.
Il suffit de lancer cette ligne chaque fois que vous ajoutez une configuration de couleur supplémentaire .nanorc.
J'ai une nano syntaxe en surbrillance sur mon github .
Il y a des captures d'écran d'exemple en direct pour html et php:
et
Vous pouvez utiliser ceci pour tout inclure: (ajoutez ceci au fichier ~ / nanorc)
include "/usr/share/nano/*.nanorc"
Bon codage!
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
Les hauteurs syntaxiques les plus complètes et à jour pour nano sont conservées ici .
Pour installer tous les surligneurs pour votre utilisateur, exécutez simplement:
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
. Le contenu du /tmp
dossier sera supprimé à chaque démarrage du système et vous ne pourrez donc jamais exécuter un fichier git pull
.
js
n'est pas bash
ou shell-script
et j'ai placé le lien derrière le mot here
. Où est le problème?
make install
tous les fichiers de syntaxe sont copiés à l'endroit sûr où ils appartiennent: ~/.nano/syntax
.
Si vous rencontrez des difficultés après avoir suivi les instructions ci-dessus, vérifiez également si vous avez des définitions en double . Ceci désactivera toute la coloration syntaxique pour tous les fichiers . Je me suis heurté à cela après avoir ajouté un nanorc.nanorc
fichier sans me rendre compte que ma ~/.nanorc
section avait déjà une section identique, c'est-à-dire:
## 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)\>"
(...)
J'ai trouvé la coloration syntaxique pour js ici .
Je l'ai ajouté à mon dossier d'utilisateur à ~/.nanorc
Cependant, pour obtenir un fichier auquel je pouvais ajouter, je devais d'abord copier de /usr/share/nano/nanorc.nanorc
mon dossier local en tant que ~/.nanorc
.
J'ai accidentellement désactivé la mise en surbrillance à l'aide du raccourci clavier Alt+ Y. Il peut être réactivé avec le même raccourci clavier.
Je sais que c'est un vieux fil, mais que ma solution puisse aider
éditez le fichier dans / etc / nanorc
À partir de la ligne 243, vous pouvez trouver beaucoup de fichiers à inclure. Décommentez simplement ceux dont vous avez besoin, sauvegardez et faites.
## 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"
Je ne sais pas si vous mettez à jour Nano si ces modifications ont disparu.
Je viens de faire ce script pour ajouter des couleurs à nano: Mais bien sûr, vous devez avoir les codes de couleur dans / usr / share / nano pour que cela fonctionne. S'il y a des erreurs: modifiez simplement manuellement le fichier ~ / .nanorc et supprimez les lignes qui donnent les erreurs.
#!/bin/bash
for i in `ls /usr/share/nano`
do
echo "include /usr/share/nano/$i" >> ~/.nanorc
done