Vimで複数のファイルを便利に開く

こんにちは、アルバイトで社内向けRailsアプリを作っている者です。

今回は、開発・運用時に役に立つ、Vimで複数のファイルを開く話をしようと思います。

なお、今回検証に使用したVimのバージョンは、記事執筆時点(2014-11-17)最新の7.4.516です。


vim は、複数のファイルを指定してやることで複数のファイルを開くことが出来ます。

$ vim hoge.rb fuga.rb

ただし、この方法だと一度に表示されるのは一つのファイルのみです。
他のファイルを編集したい時には、:bnext :bprevコマンドで編集するファイルを変更できます。

また、vimを終了したい時には:qallで終了します。

タブページを使う

tabpage

前述の方法だと、現在どのファイルを編集しているかわからなくて不便ですね。先ほどのコマンドに-pを足してみましょう。

$ vim -p hoge.rb fuga.rb

これを実行すると画面上部にタブバーが出現します。
タブはgt gT キーか、:tabnext :tabprevコマンドで移動することが出来ます。
これで、ファイルの一覧性が確保出来ました。

分割して開く

split vsplit

次に、複数のファイルを一度に表示する方法を紹介します。

$ vim -o hoge.rb fuga.rb
$ vim -O hoge.rb fuga.rb

-o を指定した場合は水平に、-Oであれば垂直に分割してファイルを開くことが出来ます。
テストコードとプロダクトコードなど、関係のあるファイルを見比べるのに便利です。

Ctrl + wキー2回で編集するファイルを切り替える事ができます。

(応用編)分割して差分を見る

$ vim -d hoge.rb hoge.rb.orig

2つのファイルの差分を見比べたい場合、diffコマンドを使うと思います。
それと似たようなことはVimでも行うことができ、-dオプションをつけてVimを起動することで差分を見ることが出来ます。
ファイルの変更点をハイライト付きで表示するためわかりやすいです。

また、以下のコマンドも等価です。

$ vimdiff hoge.rb hoge.rb.orig

以上が今回の記事になります。
より詳しく知りたい場合、:help window :help tabpage :help vimdiffなどのコマンドでVimのドキュメントを眺めてみるとよいでしょう。

投稿者プロフィール

開発 アルバイト
中の人には主に、
PHP・Symfony2系の人と
Ruby・Rails系の人がいます。
ときどきJavascript・データベースにも手を出すかもしれません。

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.