Vimメモ : vim-gitgutterで差分を左端に表示する
vim-gitgutter
github.com
vim-gitgutter
というプラグインを使うと、Gitで管理しているファイル編集時に差分を表現する記号が左端に表示されるようになる。 ~
が変更があった行、+
が追加行、-
が削除された行があることを示す。
インストール
NeoBundleの場合は下記行をvimrc
に追加。
NeoBundle 'airblade/vim-gitgutter'
使い方
インストールが完了すればデフォルトで有効になっているので設定を特に追加しなくてもよい。有効無効の切り替えは下記コマンドで可能。
:GitGutterToggle
また、下記コマンドを実行すると行ハイライトの有効無効が切り替えられる。
:GitGutterLineHighlightsToggle
起動時に行ハイライトを有効にしたい場合は下記行をvimrc
に追加。
let g:gitgutter_highlight_lines = 1
記号更新のタイミング
記号が更新されるタイミングは下記とのこと。
このうちタイピング停止時から反映されるまでの時間はデフォルトでは4000
ミリ秒なので、速くしたい場合は下記設定をvimrc
に追加。
set updatetime=250
カスタマイズ
記号を表示しているカラムの背景色変更
let g:gitgutter_override_sign_column_highlight = 0 highlight SignColumn ctermbg=brown
記号の変更
let g:gitgutter_sign_added = 'xx' let g:gitgutter_sign_modified = 'yy' let g:gitgutter_sign_removed = 'zz' let g:gitgutter_sign_removed_first_line = '^^' let g:gitgutter_sign_modified_removed = 'ww'
記号の色を変更する場合は、
GitGutterAdd " an added line GitGutterChange " a changed line GitGutterDelete " at least one removed line GitGutterChangeDelete " a changed line followed by at least one removed line
これらのハイライトグループを下記のように設定する。
highlight GitGutterAdd ctermfg=blue ctermbg=brown
線のハイライト色も同様な設定。
GitGutterAddLine " default: links to DiffAdd GitGutterChangeLine " default: links to DiffChange GitGutterDeleteLine " default: links to DiffDelete GitGutterChangeDeleteLine " default: links to GitGutterChangeLineDefault, i.e. DiffChange
ハンクの操作
]c
を押せば次のハンク(変更点のかたまり)へ、[c
を押せば前のハンクへ移動できる。キーマッピングを変更したい場合は以下のように設定。
nmap ]h <Plug>GitGutterNextHunk nmap [h <Plug>GitGutterPrevHunk
また、ハンク内で<Leader>hs
を押すと変更をステージでき、<Leader>hr
を押せば変更を元に戻せる。キーマッピングを変更したい場合は以下のように設定。
nmap <Leader>ha <Plug>GitGutterStageHunk nmap <Leader>hu <Plug>GitGutterRevertHunk
<Leader>hp
を押すと変更点をプレビューできる。キーマッピングも同様に変更可能。
nmap <Leader>hv <Plug>GitGutterPreviewHunk
- 作者: Drew Neil,新丈径
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2013/08/29
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (15件) を見る