0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

vim-fugitiveのおかけでVimからGitするのが楽しくなった話

Last updated at Posted at 2025-12-14

何の記事?

この記事は鎮宮'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で状態を確認しながら動かしていきます……

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?