綾小路龍之介の素人思考

[vim] 編集対象ファイルに設定を書き込む (:set modeline)

編集対象のファイルに設定を書き込んでおくことも可能。よりきめ細やかな設定が必要だけど、それをグローバル設定や個人設定に反映したくないケースでは結構有効。例えば、html という拡張子を持つファイルは通常 set filetype=html だけど、その代わりに set filetype=xml とかを自動的に行うことが可能。

シェルで以下のコマンドを実行。

$ echo set modeline >> ~/.vim/vimrc

モードラインの設定の仕方はファイルのフォーマットに依存する。例えば以下の様なxmlファイルがあった場合を考える。

$ cat test.xml
<?xml version="1.0" encoding="UTF-8" ?>
<root>
</root>

モードラインを設定は xml ファイルのコメント機能を使って行う。また、モードラインはファイルの先頭及び末尾のどちらに書いても動作する。すなわち、以下の様にモードラインを設定する。こうすることで、vim で読み込んだ場合に xml ではなく、html のシンタックスハイライトが有効になる。

$ cat test.xml
<?xml version="1.0" encoding="UTF-8" ?>
<root>
</root>
<!-- vim: set filetype=html : -->

モードラインの説明は以下のようにすることで vim 内から読むことが可能。

:help modeline

リファレンス

  1. Modeline magic - Vim Tips Wiki - Wikia
  2. Vim documentation: options

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2007-12-30T18:23:07+09:00
  2. Modified: 2007-12-30T18:23:07+09:00
  3. Generated: 2018-02-23T23:09:16+09:00