Как установить подсветку синтаксиса по умолчанию для файлов без расширения?

Я пытаюсь установить схему подсветки синтаксиса «по умолчанию» для nano, когда редактирую файлы без расширения, такие как /etc/nginx/sites-available/default или /etc/ssh/sshd_config, но не могу заставить их работать.

Я скопировал файл подсветки синтаксиса c в /usr/share/nano/default.nanorc, а затем добавил include "/usr/share/nano/deafult.nanorc" в свой файл ~/.nanorc, но я все еще не получаю подсветку для файлов без расширения.

Кто-нибудь знает, как включить это?

4
задан 4 February 2014 в 06:24

3 ответа

Вы можете определить это самостоятельно. Вот хороший пример с Arch Linux Forums.

Скопируйте следующий код и сохраните его в / 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="-->"

Затем включите эту конфигурацию в файле / etc / nanorc как

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

Первая строка кода в фрагменте содержит регулярное выражение, определяющее, для каких имен файлов следует использовать эту подсветку синтаксиса. Всякий раз, когда вы сталкиваетесь с файлом конфигурации, который не соответствует этому, но вы все равно хотели бы открыть его с подсветкой синтаксиса, вы можете вручную выбрать этот синтаксис с ключом -Y nano, например:

nano -Y conf myConfigFile
0
ответ дан 4 February 2014 в 06:24

Файл нанорка должен иметь

syntax "default"

без регулярных выражений после него.

0
ответ дан 4 February 2014 в 06:24

Синтаксис Nano выделяет все файлы с без расширения:

Создать резервную копию из файла по умолчанию

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

Создать копию из файла конфигурации

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

Изменить имя расширения синтаксиса на значение по умолчанию

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

Сохранить все файлы .nanrc во включаемом файле

ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorc
0
ответ дан 30 July 2020 в 17:49

Другие вопросы по тегам:

Похожие вопросы: