1

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
4

2 に答える 2

0

Vim の構文領域 ( ) を利用したいと考えています:help syn-region。ただし、領域はパラメーターとして区切り文字を取ります。

明確に定義された開始点がありますが、定義された終了点はありません。おそらく、「最後に2つの空の新しい行」などのいくつかの規則をここで確立することで回避できます。

ソリューションの実装方法に関するヒント (ドキュメントを含む) を提供する同様の回答があります

また、興味深い同様のアプローチは、この Vimtip です: http://vim.wikia.com/wiki/Different_syntax_highlighting_within_regions_of_a_file

于 2012-08-23T20:45:01.843 に答える
0

独自の構文ファイルを作成し、エントリごとに構文領域を定義する必要があります。その領域内で、 で定義されている対応する言語を構文インクルードできますext。ですべての詳細をお読みください:help :syn-include

複雑すぎると思われる場合は、私の SyntaxRange プラグインをチェックしてください。これは、alfredodeza によって言及された Vimtip に基づいています。これを使用すると、構文を一連の行にすばやく割り当てることができます。:11,42SyntaxInclude perl

于 2012-08-24T07:08:04.017 に答える