Иногда возникает необходимость редактировать YAML-файлы прямо в shell.
Если Вы пользуетесь консольным редактором nano, то его можно легко
настроить на подсветку синтаксиса. В стандартной инсталляции есть уже
готовые конфиги для многих файлов. Нужно просто включить подсветку
синтаксиса.
Смотрим список доступных расширений:
Скорее всего yaml.nanorc в этом списке нет. Создаем конфиг для yaml:
Добавляем и сохраняем следующие строчки:
Добавляем строчки и сохраняем файл:
include /your/path/to/yaml.nanorc
в начало
Создадим тестовый файл:
Подготовка:
Смотрим список доступных расширений:
> ls /usr/share/nano
asm.nanorc css.nanorc gentoo.nanorc java.nanorc mutt.nanorc ocaml.nanorc php.nanorc ruby.nanorc tex.nanorc awk.nanorc debian.nanorc groff.nanorc man-html nanorc.nanorc patch.nanorc pov.nanorc sh.nanorc xml.nanorc c.nanorc fortran.nanorc html.nanorc man.nanorc objc.nanorc perl.nanorc python.nanorc tcl.nanorc
Скорее всего yaml.nanorc в этом списке нет. Создаем конфиг для yaml:
> nano -w ~/yaml.nanorc
Добавляем и сохраняем следующие строчки:
syntax "yaml" "\.(yml|yaml)$"
color brightcyan "\<(true|false|null)\>"
icolor magenta "[[:alnum:]]*:"
icolor brightgreen "^[[:space:]]*[.0-9A-Z_]*:"
color green "\:\s\&.*\s.*"
color green "\:\s\*.*$"
color brightyellow ""(\\.|[^\"])*"" "'(\\.|[^'])*'"
color ,green "[[:space:]]+$"
color brightred "#.*$"
color brightblue "\-|\.|;|:|\{|\}|\|"
color brightmagenta "\s[[:digit:]]*$"
Включаем подсветку:
> nano -w ~/.nanorc
Добавляем строчки и сохраняем файл:
Если это не заработает, переместите строчку
include /usr/share/nano/c.nanorc
include /usr/share/nano/php.nanorc
include /usr/share/nano/css.nanorc
include /usr/share/nano/gentoo.nanorc
include /usr/share/nano/html.nanorc
include /usr/share/nano/nanorc.nanorc
include /usr/share/nano/xml.nanorc
include /usr/share/nano/sh.nanorc
include /usr/share/nano/python.nanorc
include /usr/share/nano/patch.nanorc
include /usr/share/nano/java.nanorc
include /usr/share/nano/groff.nanorc
include /your/path/to/yaml.nanorc
include /your/path/to/yaml.nanorc
в начало
Результаты:
Создадим тестовый файл:
>nano -w ~/nanotest.yaml
# # Default value test # default_value: &DEF_VAL 1234 # # Using DEF_VALUE # hosts: localhost: { ip: "127.0.0.1", port: *DEF_VAL } devel: { ip: "192.168.1.200", port: *DEF_VAL } # # More tests # # profiles: #devel - id: "devel" description: "My test profile" enabled: true data: "foo:bar"
Комментариев нет:
Отправить комментарий