モードラインを使おう(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 | インデントの際に使用されるスペースの数 |
textwidth | 0でないなら、このオプションで設定された幅で行を改行する。 |
expandtab | タブを半角スペースに変換数するか |
wrap | 画面の橋で折り返して表示 |
filetype | ファイルタイプ |
fileencoding | ファイルのエンコーディング指定 |