docs: create sysadmin/Linux/Base-znaniy/nano-color

main
Федоров Дмитрий 2023-11-15 18:23:53 +00:00 committed by Dmitriy Fedorov
parent 40efd4bef5
commit c9452ee5ed
1 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,43 @@
---
title: Nano - расцветка синтаксиса
description:
published: true
date: 2023-11-15T18:23:47.499Z
tags:
editor: markdown
dateCreated: 2023-11-15T18:23:47.499Z
---
Основной конфигурационный файл nano имеет путь /etc/nanorc. В этом файле, в частности, прописаны источники глобальных настроек подсветки синтаксиса для разных типов файлов, которые подгружаются из внешних файлов *.nanorc.
![6.png](/attachments/base/6.png)
Помимо того, что абсолютные пути к этим файлам прописаны в /etc/nanorc
Как видим, в нашей системе файлы настроек подсветки синтаксиса для разных типов файлов расположены в каталоге /usr/share/nano/. Если нужно переопределить глобальные настройки /etc/nanorc для текущего пользователя, то в профиле пользователя можно создать файл ~/.nanorc (по умолчанию отсутствует), в котором будут подключаться нужные файлы *.nanorc . Например, подключить все файлы *.nanorc из каталога /usr/share/nano/ можно такой командой:
```bash
find /usr/share/nano/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc
```
Однако с имеющимся по умолчанию набором файлов *.nanorc разные файлы часто используемых типов, например конфигурационные файлы с расширением .conf, будут по прежнему открываться в редакторе без подсветки синтаксиса. Мы можем создать для таких файлов собственный файл настроек подсветки синтаксиса:
```
nano /usr/share/nano/mysettings.nanorc
```
В первой строке файла зададим название цветовой схемы и определим расширения файлов, при открытии которых будет использоваться наша цветовая схема. Далее идут правила подсветки, где сначала определяется цвет, а затем маска текстовых строк, которые будут подсвечиваться этим самым цветом. В моём случае взяты некоторые цветовые параметры по примеру файла/usr/share/nano/sh.nanorc
```bash
syntax "mycolors" "\.(conf|config|cfg|cnf|txt|ini)$"
# comments
color cyan "(^|[[:space:]])#.*$"
color green "(^|[[:space:]])##.*$"
# vars
icolor brightred "\$\{?[0-9A-Z_!@#$*?-]+\}?"
# strings
color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'"
```
После того, как файл сохранён, делаем его присоединение либо в файле /etc/nanorc, либо в файле ~/.nanorc.
```
echo include "/usr/share/nano/mysettings.nanorc" >> ~/.nanorc
```
Теперь все файлы с расширениями *.conf, *.config, *.cfg, *.cnf, *.ini при открытии в nano будут "радовать глаз" нашей незатейливой цветовой схемой.
![7.png](/attachments/base/7.png)