diff options
| -rw-r--r-- | bundle/git-blamer/autoload/git_blamer.vim | 28 | ||||
| -rw-r--r-- | bundle/git-blamer/plugin/git_blamer.vim | 1 | ||||
| -rw-r--r-- | vimrc | 3 | 
3 files changed, 31 insertions, 1 deletions
| diff --git a/bundle/git-blamer/autoload/git_blamer.vim b/bundle/git-blamer/autoload/git_blamer.vim new file mode 100644 index 0000000..cd6d83f --- /dev/null +++ b/bundle/git-blamer/autoload/git_blamer.vim @@ -0,0 +1,28 @@ +function! git_blamer#Blame() +	let l:line_number = line('.') +	let l:buffer_name = shellescape(bufname('%')) +	let l:window_number = winnr() +	 +	setlocal scrollbind cursorbind +	let t:git_blamer_restore = 'call setwinvar(' . l:window_number . ', "&scrollbind", 0) |  +		\ call setwinvar(' . l:window_number . ', "&cursorbind", 0)' +	 +	" Open new window +	vnew +	setlocal noswapfile nowrap nolist nobuflisted buftype=nofile bufhidden=wipe +	setlocal scrollbind cursorbind +	 +	" Read in `git blame` output +	execute 'read !git blame ' . l:buffer_name +	 +	" Delete empty first line +	1 delete +	 +	setlocal nomodified nomodifiable +	 +	" Move cursor to position in starting file +	call setpos('.', [0, l:line_number, 0, 0]) +	 +	" Restore starting file's scrollbind on exit +	autocmd BufWinLeave <buffer> execute t:git_blamer_restore +endfunction diff --git a/bundle/git-blamer/plugin/git_blamer.vim b/bundle/git-blamer/plugin/git_blamer.vim new file mode 100644 index 0000000..52197da --- /dev/null +++ b/bundle/git-blamer/plugin/git_blamer.vim @@ -0,0 +1 @@ +command! GitBlamer :call git_blamer#Blame() @@ -324,6 +324,7 @@  "   2015.07.23:  "       * Add mapping to open a new split that `git blame`s the current file  "       * Modify `git blame` mapping to open in less +"       * Modify `git blame` mapping to use custom git-blamer plugin  " @@ -657,7 +658,7 @@ nnoremap <leader>p :read !pbpaste<cr>  " Open a new split with a `git blame` of the current file  " Inspired by Ben Orenstein  " https://github.com/r00k/dotfiles/blob/7874508b825fd754e4ec3259da65f324ab96c8ea/vimrc#L74 -nnoremap <leader>gb :!git blame <c-r>=expand('%:p')<cr> \| less -S<cr> +nnoremap <leader>gb :GitBlamer<cr> | 
