diff --git a/.config/vim/vimrc.d/40-keys.vim b/.config/vim/vimrc.d/40-keys.vim index 54065ff..ca45466 100644 --- a/.config/vim/vimrc.d/40-keys.vim +++ b/.config/vim/vimrc.d/40-keys.vim @@ -120,7 +120,25 @@ if exists('g:loaded_fugitive') nnoremap gcd :Gcd else " only works if a file is already opened - nnoremap cd :cd %:h cd `git rev-parse --show-toplevel` + nnoremap gcd :cd %:h cd `git rev-parse --show-toplevel` +endif + +if exists('g:loaded_gitgutter') + " Add `g` prefix to hunk bindings + nmap ghs (GitGutterStageHunk) + xmap ghs (GitGutterStageHunk) + nmap ghu (GitGutterUndoHunk) + nmap ghp (GitGutterPreviewHunk) + + " Add hunk/h version to textobject bindings that use `c` (for `change I + " presume?) (e.g. ic -> ih) + omap ih (GitGutterTextObjectInnerPending) + omap ah (GitGutterTextObjectOuterPending) + xmap ih (GitGutterTextObjectInnerVisual) + xmap ah (GitGutterTextObjectOuterVisual) + " Same for hunk navigation bindings + nmap [h (GitGutterPrevHunk) + nmap ]h (GitGutterNextHunk) endif " Y should behave like D & C does