Vimとgitで俺たちの開発速度はさらに加速した
gitという、とっても便利なツールをご存知だろうか。
git とはソフトウェア開発に特化したバージョン管理ツールである。もはや、git 無しで僕らの開発は立ち行かないし、GitHubを中心としたエコシステムに僕らは支えられている。 日々の開発では、毎日数え切れないgitコマンドを打ち続けてプロダクトの歴史をアップデートしている。
この記事を見ているエンジニアの皆さんもきっとそうだろう。
いや? ちょっと待ってくれ。
そういえば、僕はしばらくgitコマンドをコンソールで叩いた記憶がない。
そうだ! vimをカスタマイズしてからというもの、gitを直接たたくより遥かに便利な開発環境になったんだった!
Vimmerはunite-gitiなしでは生きられない
unite-gitiというプラグインがある。
これがすこぶる便利なのだ。
サヨナラ git add git status
普段gitで開発しているときに、こんな手順をとった事がある人はいるだろうか
- いろんなファイル編集した。これから少しずつコミットする。
git statusをして、一覧を見る- 特定のファイルを
git addしていく - もう一度
git statusをして、問題がなければgit commit
unite-gitiならこうだ。
git statusとgit addをスムーズに行っているのがお分かりいただけるだろうか

(関係ないけどdeprecatedなoption指定していて恥ずかしいな……)
サヨナラ git branch git checkout
「なんてブランチ名だっけ」 「ブランチ切り替えるか」
unite-gitiならこうだ。
わかりにくいが、この一瞬でブランチ名を検索して、カーソル下のブランチに切り替えを行っている。

新しいブランチへの切り替えも一瞬だ。

その他、git logやhub pull-requestなどのコマンドにも対応しており、大変便利である。
Vimmerはvim-fugitiveなしでは生きられない
unite-gitiは絞り込みや複雑な操作ができて便利なのだけど、もっと単純な操作もしたい。
そんな時はvim-fugitiveの出番だ。
例えば下記のコマンドに関しては、vim-fugitiveに置き換えられる
git commit -> `:Gcommit` git blame -> `:Gblame` git grep -> `:Ggrep`
これでgitコマンドをvimから叩くことができそうだ。
vim-fugitiveについては、便利な記事がたくさんあるのでそちらを見てご活用してほしい。
まとめ
unite-gitiとvim-fugitiveを使うと、遥かに便利な開発環境が手に入る。いいね。
設定はgistに置いておく。
最近は会社に「Vim神」「歩く :help」こと @kana も入社してきて楽しい限りだ。
もっとも、すれ違った時するのはもっぱらSplatoonの話だが。
今更ながらの自己紹介
vimとRubyをこよなく愛する2015年新卒の @alpaca-tc だ。

pixivでは、pixivFACTORYやAPOLLOのメインエンジニアをしている。
ユーザーさんにイカに楽しんでもらえるか、と日々取り組むのは楽しい。
こんなpixivに興味のある方は、ぜひ一度オフィスに Splatoonをやりに 遊びに来てくれ ヾ(〃><)ノ゙
(ikaIDはGitHubのそれと一緒だ)