vim - シンタックスハイライト - どこにどれくらい?

 クラウディア
1. 概要
2. 探す
3. 余談

1. 概要

 ちょっと「DNS」の設定をいじろうと思って、「nsd」の「.zone」「.rev」ファイルを「vim」でいじっていて、ふと気づきました。  「ん~、シンタックスハイライトになってないので、ちと不便」  そもそも「dns」の定義ファイルのシンタックスハイライトの定義はあるのか?  本ページは、下記のサイトを参考にさせていただきました。
Tumblrのoil drum: Vimのsyntaxファイルはいくつあるのか?」(画面がロックされたりするのでご注意)

2. 探す

 参考サイトの例は、多分、「FreeBSD」ではないでしょう。  「2html.vim」というファイルがあるのは、あらかじめ知っているので。

$ locate 2html.vim
/usr/local/share/vim/vim91/ftplugin/tt2html.vim
/usr/local/share/vim/vim91/syntax/2html.vim
/usr/local/share/vim/vim91/syntax/tt2html.vim
 で見つけました。  バージョンにより異なるわけですな。  同じ階層に。

/usr/local/share/vim/vim80
/usr/local/share/vim/vim91
/usr/local/share/vim/vimfiles
 ちゅうのがありまして、「vim80」は、ディレクトリごと消したいんだけど、いいのかな?  ま、とりあえず。

$ cd /usr/local/share/vim/vim91/syntax
$ ls -l *.vim | wc -l
     695
 ちゅうことなので、2024年2月22日、「vim 9.1」には、695種類のシンタックスファイルがあるわけです。

3. 余談

 元々の目的であった、「nsd」の「.zone」「.rev」ファイルのシンタックス定義は、「dns.vim」であるようです。  「.zone」「.rev」を割り当てます。  ファイルをエディットするユーザで(たいがい、「root」ですわな)。

vi ~/.vim/ftdetect/dns.vim
 (ディレクトリがない場合は作成します)下記を記述します。

au BufRead,BufNewFile *.zone set filetype=dns
au BufRead,BufNewFile *.rev  set filetype=dns
 これで、めでたく、シンタックスハイライトすることになります。