はじめに
こんにちは、Vimを心から愛する諸君。私はPHPでWEBアプリケーションを書くときVimを使うのですが、オートインデントを使うとコードがぐちゃぐちゃになる問題に悩まされていました。この記事ではその解決策を示したいと思います。
追記(重要)
可能な限りSmarty等のテンプレートエンジンを活用して、PHPとHTMLをごちゃ混ぜにしないようにしましょう。PHPのご利用は計画的に。
期待する成果
PHPファイルでHTML、javascript、PHPを書いたとき、Vimのオートインデント=G
で綺麗なインデントができる状態を目指します。
方法は簡単。コピーするだけ。
cp /usr/share/vim/vim73/indent/html.vim ~/.vim/indent/php.vim
なぜこの問題が起こったのか
インデントがおかしかったのはindent/php.vim
にHTMLのインデント設定が記述されていなかったからです。
このアイデアが思いつくきっかけになったヒント
きっかけはひとつのコマンドだった
ソースコードの編集中に:set filetype=html
して、=G
したらインデントが改善されました。この出来事はHTMLのインデント設定を読み込めば、PHPもjavascriptもHTMLも綺麗にインデントしてくれることを意味します。
Vimのインデント設定はどこにあるのか
Vimの場合、インデントの設定はvim73/indent
の中のファイルに、PHPファイルを開いているときはindent/php.vim
が開かれています。
それを踏まえた上でこの解決策
そこで今回の解決策、ユーザー定義の~/.vim/indent/php.vim
にhtmlのインデント設定を入れてしまえというアイデアを思いついたわけです。
おしまい
最後までご拝読いただきありがとうございます。