41
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

VimでGitの環境を整える

Last updated at Posted at 2018-07-09

Vimを使っててGitのプラグインを探してて、色々まとめました。

※ 勘違いしていて全部gitgutterの機能だと思ってたんですけど、コメントでご指摘頂いて直しました:bow:

とりあえずインストール

インストールするものは以下のものです。

僕はdeinを使っているので、インストールはこんな感じです。

dein.toml
[[plugins]]
repo = "airblade/vim-gitgutter"

[[plugins]]
repo = "tpope/vim-fugitive"

vim-gitgutterの機能

HEADからの差分を表示

インストールが済んだらGitで管理しているページを開いてください。
ページを開いて、適当に変更して保存すると以下のように行数の横に+や−が表示出来ていると思います。

image.png

次の変更まで進みたいなら ]c、前の変更に戻りたいなら [cで移動することが出来ます。
ショートカットを変更したいなら以下のコードをvimrcに加えてください。

nmap ]h <Plug>GitGutterNextHunk
nmap [h <Plug>GitGutterPrevHunk

fugitiveの機能

Glog

これは git logのコマンドですね。
ノーマルモードで :Glogを実行すると以下のような表示が出ます。
::の後ろは今は消してますが、コミットメッセージが表示されます。
これは単体ではあまり使えませんが次の Gdiffと組み合わせるとこで効果を発揮します。

fugitive:///~/.git//8f3032e5b4b02063e299d8be805d1d81738dc3c4/pages/index.vue::...
fugitive:///~/.git//03a7ecbcbf7f244b9fa031ff67e737823fb18dfb/pages/index.vue::...
fugitive:///~/.git//fae312dd5ff77dbb0e8e974c978f0e803b41796a/pages/index.vue::...
fugitive:///~/.git//2eac7fb5084fe094f20ebd51bbac08649d6e4b08/pages/index.vue::...
fugitive:///~/.git//54e42bdc3acece96f77731180249f9c552c5b124/pages/index.vue::...
fugitive:///~/.git//65d924c0cee3a034cbe03ad2cdeb0d5472fbaf9a/pages/index.vue::...
fugitive:///~/.git//c71cf6d87d123fcc3a4e625f52c535adcf361c16/pages/index.vue::...
fugitive:///~/.git//add95331805cb415d81ce14cfc98d344834a9a01/pages/index.vue::...
fugitive:///~/.git//8067e36a079e9871522a58a64ee02da699874cb3/pages/index.vue::...
fugitive:///~/.git//9e6d8ba9bcfe36266e89cffefcecd8b02d33dd34/pages/index.vue::...
fugitive:///~/.git//f90276408d13eca8c15a4766fcc77514e04a2ea2/pages/index.vue::...

また、 :Glog --onelineとすることによって以下のような短いバージョンの結果を得ることも出来ます!

8f3032e ...
03a7ecb ...
fae312d ...
2eac7fb ...
54e42bd ...
65d924c ...
c71cf6d ...
add9533 ...
8067e36 ...
9e6d8ba ...
f902764 ...

Gdiff

これはgit diffのコマンドを行ってくれるコマンドです。
ノーマルモードで :Gdiffと実行すると以下のようにHEADの状態と現在の状態を比較することができます。
このコマンドを見ることで前の状態との変更を見ながらコーディング出来ます!

スクリーンショット 2018-07-09 13.06.15.png

また、HEADよりも前にさかのぼって確認したいときは Glogをつかって

:Gdiff コミット番号

のように書きます。コミット番号は上で言うと 8f3032e5b4b02063e299d8be805d1d81738dc3c4の部分です。

Gblame

このコマンドを実行すると以下のように誰によるいつどのコミットでの変更なのかを見ることが出来ます。
これは、複数人開発の時によくわからないコードがあった時に誰に聞けばいいかが分かるというとても便利な機能です!
下の画像では一人しかいませんが、、笑

スクリーンショット 2018-07-09 13.38.23.png

Gbrowse

正直僕が一番紹介したいと思ってたのはこの機能です。
GitHubなど複数人での作業で、GitHub上でやり取りをするならこの機能はすごく便利だと思います。
ただし、この機能はもしGitHubを使っている場合はvim-rhubarbが必要となります。

これはリポジトリがGitHubやGitlabなどにミラーされていることを推測し、現在のファイルをブラウザ内のオプションの行選択で開くことが出来ます。
開く方法は簡単でまず、Shift-Vで表示したい行を選択します。あとは :Gbrowseを入力し、開いたページのURLをGitHubのPull RequestやIssueに貼ると以下の画像のような結果が得られます。

スクリーンショット 2018-07-09 13.32.52.png

終わりに

他にも便利なGitの機能がありましたら、コメントなどで教えてください!

参考

15年目のVim

41
37
2

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
41
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?