Home > Vim Hacks > Hack #67: Gitを使う

Hack #67: Gitを使う

Vimの中でGitを快適に使うためのプラグインがいつくかあります。 その中からmotemenさん作のgit-vim.vimを紹介します。

screenshot

インストール

git-vimをダウンロードし、配置します。

http://github.com/motemen/git-vim

あなたの<Leader>が何にmapされているか確認しましょう。 なにも設定した覚えがなければ、以後<Leader>\に読み替えてください。

使い方

以下のキーマッピングが定義されます。

  • <Leader>gd: git diff {編集中ファイル}
  • <Leader>gD: git diff --cached {編集中ファイル}
  • <Leader>gs: git status {編集中ファイル}
  • <Leader>gl: git log {編集中ファイル}
  • <Leader>ga: git add {編集中ファイル}
  • <Leader>gA: git add {カーソル下にある文字列が指すファイル}
  • <Leader>gc: git commit {編集中ファイル}
  • <Leader>gp: git pull --rebase {編集中ファイル}

ただし出力結果は標準出力ではなく、Vim内の別ウインドウに表示されます。

議論

一般に、シェルでgit commitを行なうとその度にVimが立ち上がります。 Vimを起動するのに大変時間がかかるため、この作業は大きなストレスとなるため、多くのGitユーザはgit commit -m '{commit-message}'のように-mオプションをつけますが、やはりVim内でコミットメッセージを書いた方が補完やヤンクなどの面で便利です。 git-vimを用いた場合、現在起動中のVimの中の別ウインドウでコミットメッセージを編集するため、非常に高速かつ快適です。

応用編

著者は<Leader>を別のキーに割り当てたまま、git-vimのプレフィックスを<Space>キーに割り当てています。

他にも細かい微調整をしています。

  • ウインドウを開くときは右下に配置されるようにする
  • <Space>gd<Space>gDを逆転し、あまり使わない方を打鍵しにくいキーにする
  • <Space>gLで差分つきのログを表示する
  • <Space>gCgit commit --amendする (使用頻度高し)
  • <Space>gp<Enter>pullではなくpushにする。(確認のためあえて<Enter>の打鍵を要求している)

これらをまとめて、~/.vimrcファイルに以下の記述をしています。

let g:git_no_map_default = 1
let g:git_command_edit = 'rightbelow vnew'
nnoremap <Space>gd :<C-u>GitDiff --cached<Enter>
nnoremap <Space>gD :<C-u>GitDiff<Enter>
nnoremap <Space>gs :<C-u>GitStatus<Enter>
nnoremap <Space>gl :<C-u>GitLog<Enter>
nnoremap <Space>gL :<C-u>GitLog -u \| head -10000<Enter>
nnoremap <Space>ga :<C-u>GitAdd<Enter>
nnoremap <Space>gA :<C-u>GitAdd <cfile><Enter>
nnoremap <Space>gc :<C-u>GitCommit<Enter>
nnoremap <Space>gC :<C-u>GitCommit --amend<Enter>
nnoremap <Space>gp :<C-u>Git push
ujihisa
このエントリーをはてなブックマークに追加
はてなブックマーク - Hack #67: Gitを使う
Share on Facebook
Post to Google Buzz
Bookmark this on Google Bookmarks
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://vim-users.jp/2009/09/hack67/trackback/
Listed below are links to weblogs that reference
Hack #67: Gitを使う from Vim-users.jp

Home > Vim Hacks > Hack #67: Gitを使う

Search
Feeds
Links
  • 公式
  • 勉強会
  • 情報
  • コミュニティ
  • Meta
    Etc
    Creative Commons License
    This blog is licensed under a Creative Commons License.

    Return to page top