モードラインを使おう(Vim)

テキストファイルを編集する際に、モードラインを含めておくと Vimでの編集で幸せになれます。

モードラインとは

Vimはファイルタイプ別にエディタの設定を変更したりできますが、 ファイル上にVimの設定を書いておくと、ファイル個別に特有の設定を持つことができます。

例えば、最近文書作成にSphinxを使うことが多いのですが、 通常ファイルの拡張子には.rstを使用していますが、これだと一部で不都合があり .txtを使用してる場合もあります。しかし、Vimでの編集時はrstファイルとして扱いたい という意図があり、モードラインに以下のように指定しています。

# vim: filetype='rst' :

上記はSphinxのソースファイルの指定ですが、#の部分はコメントの指定なので言語によって変わってきます。例えば、Javaであれば、以下のようになるでしょう。

/* vim: filetype='java', fileencoding='utf-8' */

確実にモードラインを動作させるためには、Vimの設定ファイルに以下を記述しておきます。

set modeline

デフォルトでは行頭から5行についてモードラインか検索します。5行以上検索させたい場合は、これを変更することもできます。

set modelines=10

何が設定できるか

以下のような設定を変更することができます。

オプション説明
tabstopタブの画面での表示幅
shiftwidthインデント時に使用されるスペース幅
softtabstopインデントの際に使用されるスペースの数
textwidth0でないなら、このオプションで設定された幅で行を改行する。
expandtabタブを半角スペースに変換数するか
wrap画面の橋で折り返して表示
filetypeファイルタイプ
fileencodingファイルのエンコーディング指定

Comments !