
開発にどんなツールを使うかは人それぞれですが、私はvimを使っています。
PHPフレームワークなどを使っていると、編集するファイルも増えますし、ディレクトリ構造も複雑になります。ちまちまとvim application/modules/user(略)Controller.php
なんてタイプするのはとても億劫だと思います。
なのでIDEみたいにファイラーが付属していたらなあと思って、プラグインを探したり、project.vimとかを使ったりしていたんですが、そもそも標準で付属しているnetrw.vimというプラグインのファイラー機能さえあれば事足りるなあと思って、最近はずっとそればかり使っています。
netrw.vimとは
「Network oriented reading, writing, and browsing」とあるように、ネットワーク越しにファイルを編集/閲覧することができるプラグインです。vimに標準で付属していますので、改めてインストールする必要はありません。
ファイラー機能はメインの機能ではないのかも知れませんが、地味に高機能です。vimでディレクトリを開こうとすると、ファイルがリストされると思いますが、これを実現しているのがnetrw.vimです。
標準状態だとこんな感じになるかな
ディレクトリを開いた状態でi
を押すたびに表示が切り替わります。このうちのツリー表示がなかなか便利。カーソル移動はvim標準のhjklで、ディレクトリの上にカーソルを合わせてEnterを押すと、ディレクトリの中身が展開表示されます。もう一度Enterを押すと展開が閉じます。
ディレクトリの場合は開いたり閉じたりですが、ファイルにカーソルを合わせている場合は、押したキーによってそれぞれこんな挙動をします。詳細はヘルプを見てください。
t
- ファイルを新しいタブで開く
Enter
- 今netrw.vimで開いているバッファの上にファイルを開く(netrw.vimの画面は消え去る)
o
- 上下に画面分割してファイルを開く
v
- 左右に画面分割してファイルを開く
個人的にはディレクトリを常にタブで開いておいて、tで新しいタブにファイルを開いては編集する、という形で作業を進めています。
netrw.vimのカスタマイズ
少しだけカスタマイズすると更に便利になります。
- ツリー表示が便利すぎるので常にツリー表示にしたい
- "CVS"という名前のディレクトリは表示したくない
- oやvで開く位置を入れ替えたい
" netrwは常にtree view let g:netrw_liststyle = 3 " CVSと.で始まるファイルは表示しない let g:netrw_list_hide = 'CVS,\(^\|\s\s\)\zs\.\S\+' " 'v'でファイルを開くときは右側に開く。(デフォルトが左側なので入れ替え) let g:netrw_altv = 1 " 'o'でファイルを開くときは下側に開く。(デフォルトが上側なので入れ替え) let g:netrw_alto = 1
これだけ設定しておけば、
- 開発ディレクトリに移動する(aliasを作ってコマンド一発で飛べるようにしておく)
vim .
をタイプするt
でタブで開いては編集
という感じになります。
開発環境というのは際限がないので、これだけでベストの開発環境かと問われれば「うーん」となるんですが、個人的にはここまででそこそこ満足してます。
symfony1系の開発の際は、symfony.vimも併用すると更によくなりますね。
ちなみに、ツリー表示やタブで開く機能はnetrw.vimの割と新しいバージョンにしかない機能です。vimに同梱されているnetrw.vimが古い場合は使えないかもなので、その場合はプラグインだけ公式サイトから落としてきて、新たにインストールすればいいと思います。
![Vimテクニックバイブル 〜作業効率をカイゼンする150の技 [単行本(ソフトカバー)] / Vimサポーターズ (著); 技術評論社 (刊) Vimテクニックバイブル 〜作業効率をカイゼンする150の技 [単行本(ソフトカバー)] / Vimサポーターズ (著); 技術評論社 (刊)](https://images-fe.ssl-images-amazon.com/images/I/516K5O-bN8L.jpg)
keyword: vim