こんにちは、アルバイトで社内向けRailsアプリを作っている者です。
今回は、開発・運用時に役に立つ、Vimで複数のファイルを開く話をしようと思います。
なお、今回検証に使用したVimのバージョンは、記事執筆時点(2014-11-17)最新の7.4.516です。
vim は、複数のファイルを指定してやることで複数のファイルを開くことが出来ます。
1 |
$ vim hoge.rb fuga.rb |
ただし、この方法だと一度に表示されるのは一つのファイルのみです。
他のファイルを編集したい時には、:bnext
:bprev
コマンドで編集するファイルを変更できます。
また、vimを終了したい時には:qall
で終了します。
タブページを使う
前述の方法だと、現在どのファイルを編集しているかわからなくて不便ですね。先ほどのコマンドに-p
を足してみましょう。
1 |
$ vim -p hoge.rb fuga.rb |
これを実行すると画面上部にタブバーが出現します。
タブはgt
gT
キーか、:tabnext
:tabprev
コマンドで移動することが出来ます。
これで、ファイルの一覧性が確保出来ました。
分割して開く
次に、複数のファイルを一度に表示する方法を紹介します。
1 2 |
$ vim -o hoge.rb fuga.rb $ vim -O hoge.rb fuga.rb |
-o
を指定した場合は水平に、-O
であれば垂直に分割してファイルを開くことが出来ます。
テストコードとプロダクトコードなど、関係のあるファイルを見比べるのに便利です。
Ctrl + wキー2回で編集するファイルを切り替える事ができます。
(応用編)分割して差分を見る
1 |
$ vim -d hoge.rb hoge.rb.orig |
2つのファイルの差分を見比べたい場合、diff
コマンドを使うと思います。
それと似たようなことはVimでも行うことができ、-d
オプションをつけてVimを起動することで差分を見ることが出来ます。
ファイルの変更点をハイライト付きで表示するためわかりやすいです。
また、以下のコマンドも等価です。
1 |
$ vimdiff hoge.rb hoge.rb.orig |
以上が今回の記事になります。
より詳しく知りたい場合、:help window
:help tabpage
:help vimdiff
などのコマンドでVimのドキュメントを眺めてみるとよいでしょう。
投稿者プロフィール
-
中の人には主に、
PHP・Symfony2系の人と
Ruby・Rails系の人がいます。
ときどきJavascript・データベースにも手を出すかもしれません。
最新の投稿
- データベース2015年2月3日Symfony2 Doctrine2の小ネタ(OneToMany,ManyToOneリレーション)
- データベース2015年1月28日Symfony2 Doctrine2の小ネタ(OneToOneリレーション)
- 開発2015年1月21日Symfony2でもデザインパターン(PHPクラス編)
- 開発2014年11月26日Google検索結果画面にパンくずリストを表示する方法 (リッチスニペット対応)