为了方便分组couchdb函数 我创建了一种文件格式,使用yaml将单独的东西组合在一起
它基本上包含name.ext: |
形式的条目
然后是符合.ext
为了更愉快的编辑,我想让vim为他们使用正确的语法高亮显示器
修改的
请求的一些代码示例
简单:
map.coffee: |
(doc) ->
for item in doc.items:
emit [doc.category, item], null
return
reduce: _count
更复杂:
map.coffee: |
(doc) ->
emit doc.category, {items: 1, val: doc.value}
return
reduce.coffee: |
(keys, values, rereduce) ->
ret = {items: 0, val: 0}
for v in values
ret.items += doc.items
ret.val += doc.val
return ret
答案 0 :(得分:0)
我相信你希望它利用Vim的语法区域(:help syn-region
)。但是区域将分隔符作为参数。
你有一个明确定义的开始,但不是定义的结束,也许你可以通过在这里建立一些约定来解决问题,比如“最后两个空的新行”。
有类似的答案可能会为您提供有关如何实施解决方案的提示(包括文档),例如:Embedded syntax highligting in Vim
同样有趣且类似的方法是这个Vimtip:http://vim.wikia.com/wiki/Different_syntax_highlighting_within_regions_of_a_file
答案 1 :(得分:0)
您必须编写自己的语法文件,并为每个条目定义语法区域。在该区域内,您可以语法 - 包含ext
定义的相应语言。阅读:help :syn-include
的所有详细信息。
如果这听起来太复杂,请查看我的SyntaxRange插件。它基于alfredodeza提到的Vimtip。有了它,您可以快速为一系列行分配语法,例如: :11,42SyntaxInclude perl