何の記事?
この記事は鎮宮'sアドベントカレンダー2025の15日目の記事です。
この記事では、VimからGitをしやすくするプラグイン、vim-fugitiveを使い始めたので、普段使っているコマンドや、どんな風に役立っているかを書きました。
誰向け? どんな役にたつ?
- VimからGitコマンドを使いたい人
- Gitコマンドを使用できるVimプラグイン決めに悩んでいる人
- vim-fugitiveで何ができるかを知りたい人
あらすじ
SorceTreeというGitのGUIツールのお陰で、Gitの扱いにも少しずつ慣れてきました。
ただ「あそこでコミットしておけば……」ということが何度かあったため、コミット粒度を細かくし始めたところ、今度はいちいちマウスに触ってVim抜けるのめんどくさいな…… という問題が浮上してきました。
そこで、Vimからいい感じにGit操作ができるプラグインないかなー……と探し、vim-fugitiveを導入しました。
プラグイン導入まで
最終的にvim-fugitiveを導入しましたが、最終的に比較検討にはこちらのまとめ記事を参考にさせていただきました。
ここでGit系のプラグインに載っているものをググって、使用者の声をググったりなどした後、最終的にコンパクトに使えそうなvim-fugitiveに決定しました。
使っているGitコマンド
:Gwrite
今Vimで編集しているファイルをステージングgit addするコマンド。
私は最近、vimrcをGit管理し始めたので、Gwriteして、Git commitですぐ更新できるのがとても重宝しています。
:Git commit
言わずもがな、git commit。
:!git commitとそんなにタイピング数変わらなくない?……と言われればそうなんですが、!って、なんだかんだ打ちづらい位置にあるので、それを打たなくていいのはとても楽なんですよね……。
なので、地味にVimコマンドとして打てるのが助かっています。
そして何より、SourceTreeではマウスをぽちぽちしてからコミットメッセージを打っていたのが、commitウインドウにメッセージを書き込んで:wqでコミットできるのがなかなかに快感です。
:Gread
今開いているファイルに対して、コミット前の変更を取り消すコマンドです。
進んでみたけど、やっぱりさっきのセーブポイントに戻りたい!……ということはなんだかんだあるので、一瞬で戻れるのは重宝しています。
:Ggrep
Vim内でgitignoreを無視して検索してくれるコマンド。
vimgrepでは遅いし、ripgrepは導入に手間取って……となっていたので、Vimプラグインが解決してくれて助かっています。
実は、ripgrepがすごい!……という記事をQiitaで見かけたものの、導入が上手くいかず、まあいいか……としていた時に、下記の記事を見ていたので、最終的にvim-fugitiveに決めた部分もありました。
導入して助かった部分
とりあえず、Vimから:!でコマンドを打たなくてもいいことで、Vimから手軽にGit操作ができるのが重宝しています。あと、Ggrepが本当にパパッと検索できて嬉しい。
readmeなどを見るに他にもコマンドは色々ありそうですし、Gitに慣れてくれば「こんなことできないの?」が出て来るかもしれないので、今後も調べながら使っていきたいと思います。
……慣れるまでは、Vimからコマンドを打ちつつ、SourceTreeで状態を確認しながら動かしていきます……