yaml格式检查linux,如何在GNU Nano中为YAML(YML)文件启用语法突出显示

本文概述

GNU nano是一个简单的基于终端的文本编辑器。尽管不如Emacs或Vim强大, 但它易于学习和使用。许多开发人员都喜欢此编辑器, 因为它只需要在服务器上快速编辑单个文件, 它的使用非常简单且非常有用。

你需要在这种编辑器中经常更改的那些文件之一是配置文件, 例如yaml文件。 Nano为许多文件类型提供语法高亮显示, 但对于yaml文件则不提供。如果还要突出显示此类文件, 则需要执行额外的步骤。在本文中, 我们将向你展示如何在Ubuntu中的nano上突出显示yaml文件。

1.列出可用的Nano语法突出显示文件

第一步, 使用以下命令发现nano中可用的语言以突出显示其语法:

ls /usr/share/nano/

这将列出给定目录中的所有nano语法高亮文件:

root@server:~$ ls /usr/share/nano/

asm.nanorc fortran.nanorc man.nanorc ocaml.nanorc ruby.nanorc

awk.nanorc gentoo.nanorc mgp.nanorc patch.nanorc sh.nanorc

c.nanorc groff.nanorc mutt.nanorc perl.nanorc tcl.nanorc

cmake.nanorc html.nanorc nano-menu.xpm php.nanorc tex.nanorc

css.nanorc java.nanorc nanorc.nanorc pov.nanorc xml.nanorc

debian.nanorc makefile.nanorc objc.nanorc python.nanorc

如果找不到yaml.nanorc文件, 则可以下一步进行安装。

2.创建YAML Nano语法突出显示文件

为了向文件提供语法突出显示, 如果默认文件不存在, 则需要为此语言创建语法突出显示文件。该文件是yaml.nanorc文件, 你需要在上述目录中创建它。运行nano创建文件:

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 ":( |$)"

请访问Nano Highlight的官方资源库, 它是Nano语法高亮文件的丰富集合, 以获取有关nano的更多信息和语言。该文件将自动添加到nano中, 并突出显示yaml文件。保存更改并继续执行最后一步。

3.创建Test Yaml文件以查看结果

作为最后一步, 你需要测试突出显示功能是否起作用。继续创建带有nano的测试文件, 并在其上编写一些YAML, 例如:

# app/config/config_prod.yml

imports:

- { resource: config.yml }

monolog:

handlers:

main:

type: fingers_crossed

action_level: critical

handler: grouped

grouped:

type: group

members: [streamed, deduplicated]

streamed:

type: stream

path: '%kernel.logs_dir%/%kernel.environment%.log'

level: debug

deduplicated:

type: deduplication

handler: swift

swift:

type: swift_mailer

from_email: 'from_email@test.com'

# Or multiple receivers:

# to_email: ['to_email1@ourcodeworld.com', 'to_email2@ourcodeworld.com']

to_email: 'to_email@ourcodeworld.com'

subject: 'An Error Occurred! %%message%%'

level: debug

formatter: monolog.formatter.html

content_type: text/html

保存文件, 再次编辑它, 你现在将看到突出显示的YAML代码。

编码愉快!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值