return { 'tpope/vim-fugitive', config = function() vim.keymap.set('n', "gs", vim.cmd.Git) vim.keymap.set('n', "gl", function () vim.cmd.Git({ 'pull' }) end) vim.api.nvim_create_user_command('Gcm', function() vim.cmd.Git({ 'switch main' }) end, {}) local Crentist_Fugitive = vim.api.nvim_create_augroup('Crentist_Fugitive', {}) local autocmd = vim.api.nvim_create_autocmd autocmd('BufWinEnter', { group = Crentist_Fugitive, pattern = '*', callback = function() if vim.bo.ft ~= 'fugitive' then return end local SwitchToMainbufnr = vim.api.nvim_get_current_buf() local opts = { buffer = bufnr, remap = false } vim.keymap.set('n', "p", function() vim.cmd.Git('push') end, opts) -- rebase always vim.keymap.set('n', "P", function() vim.cmd.Git({ 'pull', '--rebase' }) end, opts) end, }) end }