nnoremap <silent> <leader>lg :LazyGit<CR>
let g:lazygit_floating_window_use_plenary = 1

lua << EOF
-- Lazygit起動時にESCを無効化する
vim.api.nvim_create_augroup("LazygitKeyMapping", {})
-- TermEnterでは起動されたバッファではなく、起動したバッファが対象になってしまう
local bkey = vim.api.nvim_buf_set_keymap
vim.api.nvim_create_autocmd("TermOpen", {
  group = "LazygitKeyMapping",
  pattern = "*",
  callback = function()
  local filetype = vim.bo.filetype
  -- filetypeにはlazygitが渡る。空文字ではない
  if filetype == "lazygit" then
    -- このkeymapが肝。なんでこれで動くのかは謎
    bkey(0, "t", "<ESC>", "<ESC>", { silent = true })
    -- <C-\><C-n>がNeovimとしてのESC。<ESC>はLazygitが奪う
    bkey(0, "t", "<C-x><C-x>", [[<C-\><C-n>]], { silent = true })
    bkey(0, "t", "jj", "<Down><Down>", { silent = true })
    end
  end,
})

EOF