pixiv insideは移転しました! ≫ https://inside.pixiv.blog/

Vimとgitで俺たちの開発速度はさらに加速した

gitという、とっても便利なツールをご存知だろうか。

git とはソフトウェア開発に特化したバージョン管理ツールである。もはや、git 無しで僕らの開発は立ち行かないし、GitHubを中心としたエコシステムに僕らは支えられている。 日々の開発では、毎日数え切れないgitコマンドを打ち続けてプロダクトの歴史をアップデートしている。

この記事を見ているエンジニアの皆さんもきっとそうだろう。

いや? ちょっと待ってくれ。
そういえば、僕はしばらくgitコマンドをコンソールで叩いた記憶がない。

そうだ! vimをカスタマイズしてからというもの、gitを直接たたくより遥かに便利な開発環境になったんだった!

Vimmerはunite-gitiなしでは生きられない

unite-gitiというプラグインがある。
これがすこぶる便利なのだ。

github.com

サヨナラ git add git status

普段gitで開発しているときに、こんな手順をとった事がある人はいるだろうか

  1. いろんなファイル編集した。これから少しずつコミットする。
  2. git statusをして、一覧を見る
  3. 特定のファイルをgit addしていく
  4. もう一度git statusをして、問題がなければgit commit

unite-gitiならこうだ。

git statusgit addをスムーズに行っているのがお分かりいただけるだろうか

unite-git/status

(関係ないけどdeprecatedなoption指定していて恥ずかしいな……)

サヨナラ git branch git checkout

「なんてブランチ名だっけ」 「ブランチ切り替えるか」


unite-gitiならこうだ。

わかりにくいが、この一瞬でブランチ名を検索して、カーソル下のブランチに切り替えを行っている。


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


その他、git loghub 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-gitivim-fugitiveを使うと、遥かに便利な開発環境が手に入る。いいね。
設定はgistに置いておく。

最近は会社に「Vim神」「歩く :help」こと @kana も入社してきて楽しい限りだ。
もっとも、すれ違った時するのはもっぱらSplatoonの話だが。


今更ながらの自己紹介

vimとRubyをこよなく愛する2015年新卒の @alpaca-tc だ。

pixivでは、pixivFACTORYAPOLLOのメインエンジニアをしている。

ユーザーさんにイカに楽しんでもらえるか、と日々取り組むのは楽しい。

こんなpixivに興味のある方は、ぜひ一度オフィスに Splatoonをやりに 遊びに来てくれ ヾ(〃><)ノ゙ (ikaIDはGitHubのそれと一緒だ)