3

カスタムプログラミング言語用のvimシンタックスハイライトファイルを作成したい。つまり、DynamicsNAVシステムの内部にあるC/ALです。

問題は、ファイル拡張子を介して検出することが不可能であるということです。歴史的に、C/ALは*.TXTファイルを使用します。また、すべての* .TXTファイルを強調表示することもお勧めしません。これは、一部のファイルにC/ALコードが含まれている可能性があるためです。

VIMは拡張子だけでなくファイルの内容によっても言語を検出できることを私は知っています。そして、私は公式マニュアルでいくつかの例を見つけました。ただし、最初のアプローチまたは2番目のアプローチのいずれかを使用できると記載されています。

それらを一度に組み合わせることができますか?そのような振る舞いの例はどこにありますか?

前もって感謝します!

4

1 に答える 1

5

getlineを使用して、ファイルの内容に基づいて検出を絞り込むことができます。たとえば、これは.tmpファイル内のXMLを検出します。

autocmd! BufNewFile,BufRead *.tmp
    \ if getline(1) =~ '<?\s*xml.*?>' |
    \     setfiletype xml |
    \ endif

別のアプローチは、各C/ALファイルにモードラインを追加することです。

于 2012-05-31T16:21:37.353 に答える