それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

vim のモードラインでvim設定(タブなど)をファイルに書く

expand タブしてたら怒られたよ。。。

みんなタブ文字使うんですね。わたしは、いつの頃からか、タブ文字じゃなくてスペースを使うように変わりました。

たぶん、ブログなどにコードをコピペするようになってからとくにその傾向が顕著になったような気がする。

あとHTMLやCSSの激しいネストでタブインデント幅を2にしてたとき、タブ文字表示が鬱陶しかった。というのもある。

スペースに変換してexpand tab で生活してたらチームやるときに、怒られた。。。

vim モードラインで設定する。

editor.config でグーローバルに指定されるのもあまりうれしくないので、自分のファイルはモードラインを使うことにした

vimモードラインとは

ファイルの先頭の中のコメントに、vimの設定を書いておいて、ファイルタイプやタブの設定インデントの設定を固定するもの。モードラインという名前がふわっとしてて、よく使う単語なので、なかなか覚えられない。モードライン の単語が思い出せず何度ググったことか

要は、ファイルごとにVimの設定を変えられる特殊な書き方

vim モードラインの例

こんなのは習うより慣れろ。

expandtab の要請

// vim:set expandtab :

ファイルタイプをJSONで認識させる

// vim:set ft=json : 

折り返しを無効にする

// vim: nowrap : 

インデントの文字数を設定する

// vim: shiftwidth=2 : 

タブ幅を変える

// vim:tabstop=4 :

モードライン

わざわざブログに残すほどのことでもないんだけど、モードラインという言葉をいつも忘れるので、モードラインと幾度も書けば覚えていられると思ったのでメモ。

活躍する場所

個人的には、Linux の etc で大活躍してます。設定ファイルの書式はアレコとマチマチだったりするし、自動認識が上手く動かなかったり。nginx や apache のconf だったり、railsunicorn の設定が.conf なのに ruby ファイルだったり。 .xxxrcなのにJSONだったり。そういうときに活躍してる。

参考資料

モードラインを使って、ファイルごとにvimエディタのオプションを指定する。 — 名無しのvim使い