Estoy intentando establecer un esquema de resaltado de sintaxis 'predeterminado' para nano cuando estoy editando archivos sin extensión como /etc/nginx/sites-available/default
o, /etc/ssh/sshd_config
pero parece que no puedo hacerlo funcionar.
Copié el c
archivo de resaltado de sintaxis /usr/share/nano/default.nanorc
y luego lo agregué include "/usr/share/nano/deafult.nanorc"
a mi ~/.nanorc
archivo, pero todavía no puedo resaltar los archivos sin extensión.
¿Alguien sabe cómo habilitar esto?
Respuesta1
Puedes definir esto tú mismo. Aquí hay un buen ejemplo de los foros de Arch Linux.
Copie el siguiente código y guárdelo en/usr/compartir/nano/comoconf.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="-->"
Luego incluya esta configuración en el archivo /etc/nanorc como
## Configuration files (catch-all syntax)
include "/usr/share/nano/conf.nanorc"
La primera línea de código del fragmento incluye una expresión regular que define para qué nombres de archivos se debe utilizar este resaltado de sintaxis. Siempre que encuentre un archivo de configuración que no coincida con esto, pero aún así le gustaría abrirlo con resaltado de sintaxis, puede seleccionar manualmente esta sintaxis con el interruptor -Y de nano, así:
nano -Y conf myConfigFile
Fuente:resaltado de nano sintaxis: sintaxis general para archivos de configuración.
Respuesta2
El archivo nanorc debería tener
syntax "default"
sin expresión regular después.
Respuesta3
La nanosintaxis resalta todos los archivos con ysinextensión:
Crear copia de seguridad desde el archivo predeterminado
yes | cp /usr/share/nano/default.nanorc /usr/share/nano/default.nanorc.backup
Crear una copia desde un archivo de configuración
yes | cp /usr/share/nano/sh.nanorc /usr/share/nano/default.nanorc
Cambiar el nombre de la extensión de sintaxis al predeterminado
sed -i -e 's/syntax "sh" "\\.sh$"/syntax "default"/g' /usr/share/nano/default.nanorc
Almacene todos los archivos .nanrc en el archivo de inclusión
ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorc