Tig

From wikinotes

gitk within your terminal.

Documentation

official docs https://jonas.github.io/tig/doc/manual.html
official vi keybindings https://github.com/jonas/tig/blob/master/contrib/vim.tigrc

Usage

tig -G'def foo' file.txt  # show comits with code changes involving 'def foo'
uu  # stage/unstage file for commit
ul  # stage/unstage line for commit

Configuration

# in addition to vi keybindings

bind generic <F1> view-help