Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

modelineとmodelinesとグローバルなオプション

$
0
0

特定のファイルタイプでのみ、モードラインを無効にしようと思ってmodelines(モードラインとして調べる行数)を0行と3行などで切り替えていましたが、どうもうまく行きませんでした。

VimL
" 駄目な例setmodelines=3
    autocmd FileType php setlocalmodelines=0

一見正しく動くのですが、↑の場合phpでだけモードラインを無効にしたいのに、一度phpファイルを開いた後は常に0行しかモードラインを見なくなります。

理由は簡単でした。
modelinesがグローバルなオプションのため、setlocalしても全体に適用されてしまうのです。

modeline(sが付かない!)はバッファローカルなオプションなので、それを使いましょう。

VimL
setmodelinesetmodelines=3
    autocmd FileType php setlocalnomodeline

特筆するような話題ではないのですが、油断しているとこの手の「実はグローバルなオプションだった」ということに気付くのに遅れて悲しい気持ちになることがよくあります。
helpを見ればすぐに分かることなので、helpを見る癖をつけないと駄目ですね。


Viewing all articles
Browse latest Browse all 5608

Trending Articles