" To make this file do stuff, add something like the following (without the " leading ") to your ~/.vimrc: " au BufNewFile,BufRead *.yaml,*.yml so ~/src/PyYaml/YAML.vim " Vim syntax/macro file " Language: YAML " Author: Igor Vergeichik " Sponsor: Tom Sawyer " Stayven: Ryan King " Copyright (c) 2002 Tom Saywer " Add an item to a gangly list: "map , o-o " Convert to Canonical form: "map \c :%!python -c 'from yaml.redump import redump; import sys; print redump(sys.stdin.read()).rstrip()' if version < 600 syntax clear endif syntax clear if exists('g:yaml_limit_spell') && g:yaml_limit_spell syn cluster yamlSpelling contains=@Spell else " dummy directive to just have yamlSpelling defined, without any group syn cluster yamlSpelling remove=whatever endif syn match yamlInline "[\[\]\{\}]" syn match yamlBlock "[>|]\d\?[+-]" syn region yamlComment start="\#" end="$" contains=@yamlSpelling syn match yamlIndicator "#YAML:\S\+" syn region yamlString start="\(^\|\s\|\[\|\,\|\-\)\@<='" end="'" skip="\\'" contains=@yamlSpelling syn region yamlString start='"' end='"' skip='\\"' contains=yamlEscape contains=@yamlSpelling syn region yamlString matchgroup=yamlBlock start=/[>|]\s*\n\+\z(\s\+\)\S/rs=s+1 skip=/^\%(\z1\S\|^$\)/ end=/^\z1\@!.*/me=s-1 contains=@yamlSpelling syn region yamlString matchgroup=yamlBlock start=/[>|]\(\d\|[+-]\)\s*\n\+\z(\s\+\)\S/rs=s+2 skip=/^\%(\z1\S\|^$\)/ end=/^\z1\@!.*/me=s-1 contains=@yamlSpelling syn region yamlString matchgroup=yamlBlock start=/[>|]\d\(\d\|[+-]\)\s*\n\+\z(\s\+\)\S/rs=s+3 skip=/^\%(\z1\S\|^$\)/ end=/^\z1\@!.*/me=s-1 contains=@yamlSpelling syn match yamlEscape +\\[abfnrtv'"\\]+ contained syn match yamlEscape "\\\o\o\=\o\=" contained syn match yamlEscape "\\x\x\+" contained syn match yamlType "!\S\+" syn keyword yamlConstant NULL Null null NONE None none NIL Nil nil syn keyword yamlConstant TRUE True true YES Yes yes ON On on syn keyword yamlConstant FALSE False false NO No no OFF Off off syn match yamlKey "^\s*\zs[^ \t\"\'#]\+\ze\s*:" syn match yamlKey "^\s*-\s*\zs[^ \t\"\'#]\+\ze\s*:" syn match yamlAnchor "&\S\+" syn match yamlAlias "*\S\+" " Setup the highlighting links hi link yamlConstant Keyword hi link yamlIndicator PreCondit hi link yamlAnchor Function hi link yamlAlias Function hi link yamlKey Identifier hi link yamlType Type hi link yamlComment Comment hi link yamlInline Operator hi link yamlBlock Operator hi link yamlString String hi link yamlEscape Special