Manger list of git objects with interface of denite.nvim
Git log, git status and git changed source for Denite.nvim.
Video of denite gitlog:
Video of denite gitstatus:
For user of vim-plug, add:
Plug 'Shougo/denite.nvim'
Plug 'chemzqm/denite-git'
For user of dein.vim, add:
call dein#add('Shougo/denite.nvim')
call dein#add('chemzqm/denite-git')
to your vimrc and run PlugInstall
if needed.
For git log:
" log of current file
Denite gitlog
" all git log of current repository
Denite gitlog:all
" filter gitlog with fix as input
Denite gitlog::fix
For git status:
Denite gitstatus
For git changed
Denite gitchanged
gitchanged
source is just simple line source.
For git branch
Denite gitbranch
For git files
" view different versions of files on different branches (or commits, or tags)
Denite gitfiles
" all files in repo on master
Denite gitfiles:master
" all files in repo as of sha 31a3b3
Denite gitfiles:31a3b3
Actions of gitlog:
open
default action for open seleted commit.preview
preview seleted commit.delete
run git diff with current commit for current buffer. (just named delete)reset
run git reset with current commit.Actions of gitstatus:
open
open seleted file, default actionadd
run git add for seleted file(s).delete
run git diff for seleted file. (just named delete)reset
run git reset/checkout or remove for seleted file(s).commit
run git commit for seleted file(s).Actions of gitbranch:
checkout
default action to checkout selected branch.delete
delete seleted branch.merge
merge seleted branch with current branch.rebase
rebase seleted branch with current branch.Actions of gitfiles:
view
default action to view a file at a certain commit (read-only)It's recommanded to add custom key mappings for improve your speed of interacting with denite source, for example:
call denite#custom#map(
\ 'normal',
\ 'a',
\ '<denite:do_action:add>',
\ 'noremap'
\)
call denite#custom#map(
\ 'normal',
\ 'd',
\ '<denite:do_action:delete>',
\ 'noremap'
\)
call denite#custom#map(
\ 'normal',
\ 'r',
\ '<denite:do_action:reset>',
\ 'noremap'
\)