VimでGitの差分を見る


『地味にスゴイ!校閲ガール・河野悦子』石原さとみ主演
とあるファッション雑誌の編集者になりたくて、編集社一本しか面接を受けない、しかも7回(7年)も受けに来ているという徹底ぶりがいいです。まあ、いざ入社してやりたい仕事ができるかというのは別の話かもしれません。世の中の人でやりたい仕事をやれている人はとても幸せだと思います。でも、やりたい仕事でなくとも、天職と思える瞬間を積み重ねて、だんだんと仕事を好きになっていくってこともできますね。
このドラマの中の校閲という仕事は、なんだかソフトウェアの開発にそっくりな気がします。それどころかソフトの力を使えば校閲の仕事は「地味に」効率的にこなせるような仕事であるように思えます。

編集者は英語でEditorですが、テキストエディタのEditorも同じ英語なのでややこしいですね。今回はVim Editor記事です。
文章が修正されたら、バージョン管理は当然しますが、どのように差分を確認するかってのも大事ですね。GUIでマウスだけで確認する方法や、コマンドラインでdiff確認する、いろんな方法がありますが、今回はVimからgitを使って、ソース差分を見てみます。今回使うVim設定はこれです。

takk@takk:~/github/bread$ cat ~/.vimrc
:colo murphy
:map <F4> :!git show @^:% > /tmp/%<CR>:vert diffs /tmp/%<CR>

前回コミットしたソースを実験に使います。

takk@takk:~/github$ git clone https://github.com/takkete/bread.git
Cloning into 'bread'...
remote: Counting objects: 14, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 14 (delta 3), reused 14 (delta 3), pack-reused 0
Unpacking objects: 100% (14/14), done.
Checking connectivity... done.
takk@takk:~/github$ cd bread
takk@takk:~/github/bread$ takk@takk:~/github/bread$ vim bread.sh

git-show-001
カラースキームのmurphyを使うと.shファイルがこのようにほぼ緑色で表示されます。今開いたソースは最新ソースですが、その前にコミットしたソースと比べてみましょう。
F4キーを押すと、下のように画面が左右にスプリットされて両コミットが比較されて表示されます。

git-show-002

git-show-003

もう一度Vimの設定ファイルを見てみます。

takk@takk:~/github/bread$ cat ~/.vimrc
:colo murphy
:map <F4> :!git show @^:% > /tmp/%<CR>:vert diffs /tmp/%<CR>

F4キーが押されると、git showコマンドが実行されます。

@は、HEADの意味。
@^または、@~1は、HEADの1つ前。
@^^または、@~2は、HEADの2つ前。
@^^^は、HEADの3つ前。

『地味にスゴイ!』の意味は、一話の最後の方でわかります。なかなかテンポが良くて面白いドラマです。もちろん視聴継続予定です。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA