Awesome
Flog
Flog is a blazingly fast, stunningly beautiful, exceptionally powerful Git branch viewer for Vim/Neovim.
Features
- Custom log format support
- Multiline commit message support
- Ability to view history of selected visual range
- Contextual command completion
- Many navigation mappings
- Commit-based marks and jump history
- Ability to expand/collapse commit body
- Intelligently restore cursor position between updates
- Fugitive integration
- Functions for integrating with your Git workflow and plugins
- Extended graph symbol support (currently only in Kitty)
- Dynamic branch highlighting (Neovim only)
- Automatic updates (Neovim only)
- And more!
Installation
If you use Plug, add the following to your .vimrc
:
Plug 'tpope/vim-fugitive'
Plug 'rbong/vim-flog'
For lazy.nvim users:
{
"rbong/vim-flog",
lazy = true,
cmd = { "Flog", "Flogsplit", "Floggit" },
dependencies = {
"tpope/vim-fugitive",
},
},
In Vim, LuaJIT 2.1 must be installed. Lua 5.1 is also supported but less performant than LuaJIT.
Getting Started
- You can open the commit graph with
:Flog
or:Flogsplit
. - Use
<Tab>
completion or:help :Flog
to see available arguments. - Open commits with Fugitive using
<CR>
. - Jump between commits with
<C-N>
and<C-P>
. - Toggle viewing all branches with
a
. - See more mappings with
g?
. - Quit with
gq
.
Many familiar mappings from the Fugitive :Git
status window will work in Flog.
You can also run any git command using :Floggit
.
This command will contextually complete arguments based on your cursor position.
See :help :Floggit
for more.
Flog can be heavily customized. See examples for details.
More Help
- FAQ
- Examples
- Issue tracker
- Discussions board
- Fugitive repo
- Run
git log --help
in a terminal for help withgit log
. - Run
:help flog
in Vim to see the full documentation.