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!

Était-ce utile?

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:

https://github.com/craigbarnes/nanorc

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top