Switch to the BufUnload event for reopening LazyGit window, so that the user can switch windows before submitting his commit message.
lazygit.nvim
Plugin for calling lazygit from within neovim.
See akinsho/nvim-toggleterm as an alternative to this package.
Install
Install using vim-plug:
" nvim v0.5.0
Plug 'kdheepak/lazygit.nvim'
Feel free to use any plugin manager.
Just remember that if you are not using the latest neovim release, you will need to use the nvim-v0.4.3 branch.
Integration with nvr works better on the main branch.
You can check what version of neovim you have:
nvim --version
Usage
The following are configuration options and their defaults.
let g:lazygit_floating_window_winblend = 0 " transparency of floating window
let g:lazygit_floating_window_scaling_factor = 0.9 " scaling factor for floating window
let g:lazygit_floating_window_corner_chars = ['╭', '╮', '╰', '╯'] " customize lazygit popup window corner characters
let g:lazygit_floating_window_use_plenary = 0 " use plenary.nvim to manage floating window if available
let g:lazygit_use_neovim_remote = 1 " fallback to 0 if neovim-remote is not installed
Call :LazyGit to start a floating window with lazygit.
And set up a mapping to call :LazyGit:
" setup mapping to call :LazyGit
nnoremap <silent> <leader>gg :LazyGit<CR>
Open the configuration file for lazygit directly from vim.
:LazyGitConfig<CR>
If the file does not exist it'll load the defaults for you.
Using neovim-remote
If you have neovim-remote and have configured to use it in neovim, it'll launch the commit editor inside your neovim instance when you use C inside lazygit.
-
pip install neovim-remote -
Add the following to your
~/.bashrc:
if [ -n "$NVIM_LISTEN_ADDRESS" ]; then
alias nvim=nvr -cc split --remote-wait +'set bufhidden=wipe'
fi
- Set
EDITORenvironment variable in~/.bashrc:
if [ -n "$NVIM_LISTEN_ADDRESS" ]; then
export VISUAL="nvr -cc split --remote-wait +'set bufhidden=wipe'"
export EDITOR="nvr -cc split --remote-wait +'set bufhidden=wipe'"
else
export VISUAL="nvim"
export EDITOR="nvim"
fi
- Add the following to
~/.vimrc:
if has('nvim') && executable('nvr')
let $GIT_EDITOR = "nvr -cc split --remote-wait +'set bufhidden=wipe'"
endif
If you have neovim-remote and don't want lazygit.nvim to use it, you can disable it using the following configuration option:
let g:lazygit_use_neovim_remote = 0

