mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Vim - Git 用プラグイン vim-fugitive のインストール!

[ pc_tips ] [ Git, Linux, Vim ]

こんばんは。

Vim エディタで作業しながら Git でも作業を行う場合、エディタとターミナルと行き来するのが意外と苦になるようになりました。

そこで、Vim で Git の操作ができるプラグイン “vim-fugitive” をインストールしてみました。

以下、作業記録です。

0. 前提条件

  • Linux Mint 14 (64bit) での作業を想定。
  • Vim が使える状態である。
  • Git が使える状態である。

1. vim-fugitive インストール

tpope/vim-fugitive」の README の説明通り、以下のようにする。

1
2
$ cd ~/.vim/bundle
$ git clone git://github.com/tpope/vim-fugitive.git

ちなみに、Vundle(Vim プラグイン管理用プラグイン)を導入済みなら、".vimrc" に以下の記述を追加して :BundleInstall する。(「過去記事」参照)

1
Bundle 'tpope/vim-fugitive'

2. 使用方法

ヘルプは :help fugitive で確認できるが、よく使用するであろう主なコマンドについての簡単な説明を残しておく。

  • :Git [args]
    任意の git コマンドを実行可能。 :Git status:!git status と同義。
  • :Gstatus
    Git コマンドの git status と同じ内容が表示される。
    • <CR> … ファイルが表示される。
    • -git add, git reset したい行で押下すると、git add, git reset される(交互に切り替わる)
    • p … パッチを表示したい行でを押下すると、パッチが表示される。
    • ccgit commit される。
    • cagit commit --amend される。
    • R … status がリロードされる。
    • q … status を閉じる。
  • :Gcommit [args]
    git commit [args] が実行される。
  • :Glog [args]
    開いているファイルのログが表示される。
  • :Gread [revesion]
    開いているファイルの直前のコミット時の内容が表示される。
    revision を指定すればそのリビジョンの内容が表示される。
  • :Gwrite
    開いているファイルが git add される。
  • :Gdiff [revision]
    :Gvdiff と同じ。開いているファイルの変更箇所が表示される。(左右2ウィンドウで)
    revision を指定すればそのリビジョンと比較した変更箇所が表示される。
  • :Gsdiff [revision]
    開いているファイルの変更箇所が表示される。(上下2ウィンドウで)
    revision を指定すればそのリビジョンと比較した変更箇所が表示される。
  • :Gmove {destination}
    開いているファイルを {destination} にリネーム(移動)する。
    git mv {開いているファイル名} {desination} と同じ。
  • :Gremove
    開いているファイルを Git から削除する。
    git rm {開いているファイル名} と同じ。
  • :Gblame [flags]
    開いているファイルが git blame される(行毎のコミット情報が表示される)。
    さらに、各種キーマップがある。A, C, o, q 等。

以下の画像は、:Gblame を開き、変更行で o を押下した時の画面例。

VIM_FUGITIVE

参考サイト


Vim からターミナルへ移動せずに作業できるので、かなり便利に感じます。

慣れるまで多少時間がかかりそうですが、よく使用するコマンドから覚えていこうと考えています。

あと、今回の vim-fugitive とは別に gitv も導入すると良さそうなので、その辺についても検討してみます。

以上。

Comments