git-time-lapse icon indicating copy to clipboard operation
git-time-lapse copied to clipboard

Fork of git-time-lapse: Perforce-style for vim/neovim

git-time-lapse

Fork of git-time-lapse: Perforce-style for vim/neovim

Description

You're editing a file which is in a git repository. Press a key which opens a new tab which shows how that commit changed that file in vim's diff mode (:help diff), with a window at the bottom showing the commit message. Left and right arrows move through the history. Shift-left and shift-right go all the way to the end. Return on a line goes back to the last commit that touched that line (using git blame).

Close the tab when you're bored with it (:tabclose or :windo bd) and carry on vimming as usual.

You can open as many time-lapse tabs on different files in one vim session as you want.

Inspired by the "time lapse view" in the Perforce gui.

Demo

asciicast

Use

Map a key in your .vimrc, e.g.:

nmap <Leader>gt <Plug>(git-time-lapse)

or use the command:

:GitTimeLapse

to run it.