Настройки подсветки сиснтаксиса в консольном текстовом редакторе nano по-умолчанию подключаются в конфигурационном файле /etc/nanorc
$ cat /etc/nanorc ... ## To include all existing syntax definitions, you can do: include "/usr/share/nano/*.nanorc"
Из этой записи видно, что конфиги подсветки синтаксиса нужно искать по пути /usr/share/nano/
$ ls -l /usr/share/nano -rw-r--r-- 1 root root 882 дек 18 01:19 asm.nanorc -rw-r--r-- 1 root root 555 дек 18 01:19 autoconf.nanorc -rw-r--r-- 1 root root 1350 дек 18 01:19 awk.nanorc -rw-r--r-- 1 root root 709 дек 18 01:19 changelog.nanorc -rw-r--r-- 1 root root 825 дек 18 01:19 cmake.nanorc ...
Но если открыть nano от юзера, то подсветка синтаксиса не работает.
Включение подсветки синтаксиса для юзера.
Чтобы её включить необходимо создать файл .nanorc
$ touch ~/.nanorc
И добавить в него инклюды на файлы подсветки синтаксиса.
$ find /usr/share/nano/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc
Как можно заметить, в списке отсутсвуют конфиги для синтаксиса conf и yaml файлов.
Добавление подсветки синтаксиса для conf файлов.
Открываем новый файла
$ sudo nano /usr/share/nano/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="-->"
После сохранения файла его необходимо добавить в .nanorc
$ echo include "/usr/share/nano/conf.nanorc" >> ~/.nanorc
Добавление подсветки синтаксиса для yaml файлов.
Открываем новый файла
$ sudo nano /usr/share/nano/yaml.nanorc
И добавляем в него следующее содержимое
# Supports `YAML` files syntax "YAML" "\.ya?ml$" header "^(---|===)" "%YAML" ## Keys color magenta "^\s*[\$A-Za-z0-9_-]+\:" color brightmagenta "^\s*@[\$A-Za-z0-9_-]+\:" ## Values color white ":\s.+$" ## Booleans icolor brightcyan " (y|yes|n|no|true|false|on|off)$" ## Numbers color brightred " [[:digit:]]+(\.[[:digit:]]+)?" ## Arrays color red "\[" "\]" ":\s+[|>]" "^\s*- " ## Reserved color green "(^| )!!(binary|bool|float|int|map|null|omap|seq|set|str) " ## Comments color brightwhite "#.*$" ## Errors color ,red ":\w.+$" color ,red ":'.+$" color ,red ":".+$" color ,red "\s+$" ## Non closed quote color ,red "['\"][^['\"]]*$" ## Closed quotes color yellow "['\"].*['\"]" ## Equal sign color brightgreen ":( |$)"
После сохранения файла его необходимо добавить в .nanorc
$ echo include "/usr/share/nano/yaml.nanorc" >> ~/.nanorc
Свежие комментарии