6 votes

Comment définir la coloration syntaxique par défaut de nano pour les fichiers sans extension ?

J'essaie de définir un schéma de coloration syntaxique "par défaut" pour nano lorsque j'édite des fichiers sans extension tels que /etc/nginx/sites-available/default o /etc/ssh/sshd_config mais je n'arrive pas à le faire fonctionner.

J'ai copié le c dans le fichier de coloration syntaxique /usr/share/nano/default.nanorc et a ensuite ajouté include "/usr/share/nano/deafult.nanorc" à mon ~/.nanorc mais je n'obtiens toujours pas la mise en évidence des fichiers sans extension.

Quelqu'un sait-il comment activer cette fonction ?

9voto

NickTux Points 16549

Vous pouvez le définir vous-même. Voici un bon exemple tiré des forums d'Arch Linux.

Copiez le code suivant et enregistrez-le dans /usr/share/nano/ como conf.nanorc

# config file highlighting

syntax "conf" "(\.(conf|config|cfg|cnf|rc|lst|list|defs|ini|desktop|mime|types|preset|cache|seat|service|htaccess)$|(^|/)(\w*crontab|mirrorlist|group|hosts|passwd|rpc|netconfig|shadow|fstab|inittab|inputrc|protocols|sudoers)$|conf.d/|.config/)"

# default text
color magenta "^.*$"
# special values
icolor brightblue "(^|\s|=)(default|true|false|on|off|yes|no)(\s|$)"
# keys
icolor cyan "^\s*(set\s+)?[A-Z0-9_\/\.\%\@+-]+\s*([:]|\>)"
# commands
color blue "^\s*set\s+\<"
# punctuation
color blue "[.]"
# numbers
color red "(^|\s|[[/:|<>(){}=,]|\])[-+]?[0-9](\.?[0-9])*%?($|\>)"
# keys
icolor cyan "^\s*(\$if )?([A-Z0-9_\/\.\%\@+-]|\s)+="
# punctuation
color blue "/"
color brightwhite "(\]|[()<>[{},;:=])"
color brightwhite "(^|\[|\{|\:)\s*-(\s|$)"
# section headings
icolor brightyellow "^\s*(\[([A-Z0-9_\.-]|\s)+\])+\s*$"
color brightcyan "^\s*((Sub)?Section\s*(=|\>)|End(Sub)?Section\s*$)"
color brightcyan "^\s*\$(end)?if(\s|$)"
# URLs
icolor green "\b(([A-Z]+://|www[.])[A-Z0-9/:#?&$=_\.\-]+)(\b|$| )"
# XML-like tags
icolor brightcyan "</?\w+((\s*\w+\s*=)?\s*("[^"]*"|'[^']*'|!?[A-Z0-9_:/]))*(\s*/)?>"
# strings
color yellow "\"(\\.|[^"])*\"" "'(\\.|[^'])*'"
# comments
color white "#.*$"
color blue "^\s*##.*$"
color white "^;.*$"
color white start="<!--" end="-->"

Incluez ensuite cette configuration dans le fichier /etc/nanorc en tant que

## Configuration files (catch-all syntax)
include "/usr/share/nano/conf.nanorc"

La première ligne de code de l'extrait comprend une expression régulière qui définit les noms de fichiers pour lesquels cette coloration syntaxique doit être utilisée. Lorsque vous rencontrez un fichier de configuration qui ne correspond pas à cette expression, mais que mais que vous souhaitez quand même ouvrir avec la coloration syntaxique, vous pouvez sélectionner manuellement cette syntaxe avec le commutateur -Y de nano, comme suit :

nano -Y conf myConfigFile

Source : Coloration syntaxique de nano : syntaxe fourre-tout pour les fichiers de configuration .

3voto

Tony Byrne Points 31

Le fichier nanorc doit contenir

syntax "default"

sans regexp après.

0voto

Nabi K.A.Z. Points 99

La syntaxe de Nano met en évidence tous les fichiers avec et sans extension :

Créer une sauvegarde à partir du fichier par défaut

yes | cp /usr/share/nano/default.nanorc /usr/share/nano/default.nanorc.backup

Créer une copie à partir d'un fichier de configuration

yes | cp /usr/share/nano/sh.nanorc /usr/share/nano/default.nanorc

Remplacer le nom de l'extension syntaxique par le nom par défaut

sed -i -e 's/syntax "sh" "\\.sh$"/syntax "default"/g' /usr/share/nano/default.nanorc

Stocker tous les fichiers .nanrc dans le fichier include

ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorc

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X