如何在GNU Nano中为YAML(YML)文件启用语法突出显示

本文概述

  • 1.列出可用的Nano语法突出显示文件
  • 2.创建YAML Nano语法突出显示文件
  • 3.创建Test Yaml文件以查看结果
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.nanorcfortran.nanorcman.nanorcocaml.nanorcruby.nanorcawk.nanorcgentoo.nanorcmgp.nanorcpatch.nanorcsh.nanorcc.nanorcgroff.nanorcmutt.nanorcperl.nanorctcl.nanorccmake.nanorchtml.nanorcnano-menu.xpmphp.nanorctex.nanorccss.nanorcjava.nanorcnanorc.nanorcpov.nanorcxml.nanorcdebian.nanorcmakefile.nanorcobjc.nanorcpython.nanorc

如果找不到yaml.nanorc文件, 则可以下一步进行安装。
2.创建YAML Nano语法突出显示文件为了向文件提供语法突出显示, 如果默认文件不存在, 则需要为此语言创建语法突出显示文件。该文件是yaml.nanorc文件, 你需要在上述目录中创建它。运行nano创建文件:
sudo nano /usr/share/nano/yaml.nanorc

并粘贴以下内容:
# Supports `YAML` filessyntax "YAML" "\.ya?ml$"header "^(---|===)" "%YAML"## Keyscolor magenta "^\s*[\$A-Za-z0-9_-]+\:"color brightmagenta "^\s*@[\$A-Za-z0-9_-]+\:"## Valuescolor white ":\s.+$"## Booleansicolor brightcyan " (y|yes|n|no|true|false|on|off)$"## Numberscolor brightred " [[:digit:]]+(\.[[:digit:]]+)?"## Arrayscolor red "\[" "\]" ":\s+[|> ]" "^\s*- "## Reservedcolor green "(^| )!!(binary|bool|float|int|map|null|omap|seq|set|str) "## Commentscolor brightwhite "#.*$"## Errorscolor , red ":\w.+$"color , red ":'.+$"color , red ":".+$"color , red "\s+$"## Non closed quotecolor , red "['\"][^['\"]]*$"## Closed quotescolor yellow "['\"].*['\"]"## Equal signcolor brightgreen ":( |$)"

请访问Nano Highlight的官方资源库, 它是Nano语法高亮文件的丰富集合, 以获取有关nano的更多信息和语言。该文件将自动添加到nano中, 并突出显示yaml文件。保存更改并继续执行最后一步。
3.创建Test Yaml文件以查看结果作为最后一步, 你需要测试突出显示功能是否起作用。继续创建带有nano的测试文件, 并在其上编写一些YAML, 例如:
# app/config/config_prod.ymlimports:- { resource: config.yml }monolog:handlers:main:type:fingers_crossedaction_level: criticalhandler:groupedgrouped:type:groupmembers: [streamed, deduplicated]streamed:type:streampath:'%kernel.logs_dir%/%kernel.environment%.log'level: debugdeduplicated:type:deduplicationhandler: swiftswift:type:swift_mailerfrom_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:debugformatter:monolog.formatter.htmlcontent_type: text/html

保存文件, 再次编辑它, 你现在将看到突出显示的YAML代码。
【如何在GNU Nano中为YAML(YML)文件启用语法突出显示】编码愉快!

    推荐阅读