Nano sur le serveur ignore certains coloration syntaxique
-
13-10-2019 - |
Question
J'utilise nano
sur un serveur via ssh; sur ce système, nano
ne dispose pas de couleur de syntaxe activée par défaut. Donc, je copiais ces nanosyntax fichiers ( pour l'option, voir aussi @CraigBarnes' réponse ) sur le serveur, et avait mis en place ~/.nanorc
comme:
include "~/nanosyntax/syntax-nanorc/php.nanorc"
include "~/nanosyntax/syntax-nanorc/php2.nanorc"
include "~/nanosyntax/syntax-nanorc/sh.nanorc"
include "~/nanosyntax/syntax-nanorc/python.nanorc"
include "~/nanosyntax/syntax-nanorc/html.nanorc"
include "~/nanosyntax/syntax-nanorc/perl.nanorc"
include "~/nanosyntax/syntax-nanorc/ruby.nanorc"
include "~/nanosyntax/syntax-nanorc/js.nanorc"
Maintenant, c'est la chose; si je viens d'appeler:
nano somefile.php
... pas la coloration syntaxique de php
est fait. Si je tente de la force:
nano --syntax=php somefile.php
... toujours pas de coloration syntaxique (présentée comme texte brut). Cependant, si je fais:
nano ~/.nanorc
... je faire get coloration de la syntaxe (qui correspond au fichier de type .nanorc
)?
Alors, évidemment, la coloration syntaxique que ces œuvres (à savoir la coquille et nano
en sont capables) -! Sauf, semble être ignoré pour certaines langues, comme dans ce cas php
Alors, est-ce que quelqu'un sait ce qui se passe - et comment pourrais-je obtenir la coloration syntaxique aussi pour les fichiers php
?
Merci,
Vive!
La solution
Je viens couru dans le même problème, et je tripoté un peu avec includes pour trouver l'erreur. Étonnamment, se avère que la modification de l'ordre d'inclusion résolu le problème:
Cela fonctionne:
include "~/.nano/nanorc.nanorc"
include "~/.nano/sh.nanorc"
# more includes...
ne mettre en évidence les fichiers sh:
include "~/.nano/sh.nanorc"
include "~/.nano/nanorc.nanorc"
# more includes...
Je suppose que c'est probablement un bug (en nano 2.2.2, bien travaillé dans nano 2.1.7)
Autres conseils
Hm ... eh bien, il semble qu'il y ait eu une mise à jour sur ce serveur que j'utilisais; à l'origine, nano
n'a pas la coloration de syntaxe par défaut, ce qui est la raison pour laquelle j'ai utilisé mon propre ~/.nanorc
séparée.
Maintenant, cependant, sur le serveur mis à niveau, nano
semble fonctionner avec la syntaxe php coloration par défaut - et moi avoir ma propre ~/.nanorc
séparée semble avoir en conflit; parce que, une fois que je commentais toutes les entrées dans le ~/.nanorc
privé (avec un #
), coloration syntaxique php est de retour !!
Whowouldathunkit! :)
Vive!
EDIT: Pour ajouter quelques notes sur nano:
Comme indiqué ci-dessus, la coloration de syntaxe est forcé avec le commutateur de --syntax
; pour voir qui syntaxes sont disponibles:
grep 'include' /etc/nanorc | # find lines containing 'include' in nanorc
grep -v '^#' | # don't process lines that start with '#'
sed 's_.*/\(.*\)\.nanorc"_\1_' # extract plain filenames
Résultat de cette commande est quelque chose comme:
nanorc
c
css
debian
gentoo
html
...
pour forcer la coloration syntaxique "nanorc", vous utilisez:
nano --syntax=nanorc /usr/share/nano/nanorc.nanorc
.. ou de forcer la syntaxe de script shell "bash" coloration (particulièrement utile avec bashrc
) serait:
nano --syntax=sh ~/.bashrc
Les fichiers « nanosyntax » sur Google Code sont presque aussi mauvais que ceux qui viennent avec nano par défaut.
moteur mettant en lumière des nano est plus basique que quelque chose avec des contextes imbriqués (par exemple GtkSourceView) mais vous ne devez pas se contenter de la mise en évidence merdique: