@@ -124,9 +124,20 @@ require('lazy').setup({
124124 changedelete = { text = ' ~' },
125125 },
126126 on_attach = function (bufnr )
127- vim .keymap .set (' n' , ' <leader>gp' , require (' gitsigns' ).prev_hunk , { buffer = bufnr , desc = ' [G]o to [P]revious Hunk' })
128- vim .keymap .set (' n' , ' <leader>gn' , require (' gitsigns' ).next_hunk , { buffer = bufnr , desc = ' [G]o to [N]ext Hunk' })
129- vim .keymap .set (' n' , ' <leader>ph' , require (' gitsigns' ).preview_hunk , { buffer = bufnr , desc = ' [P]review [H]unk' })
127+ vim .keymap .set (' n' , ' <leader>hp' , require (' gitsigns' ).preview_hunk , { buffer = bufnr , desc = ' Preview git hunk' })
128+
129+ -- don't override the built-in and fugitive keymaps
130+ local gs = package.loaded .gitsigns
131+ vim .keymap .set ({' n' , ' v' }, ' ]c' , function ()
132+ if vim .wo .diff then return ' ]c' end
133+ vim .schedule (function () gs .next_hunk () end )
134+ return ' <Ignore>'
135+ end , {expr = true , buffer = bufnr , desc = " Jump to next hunk" })
136+ vim .keymap .set ({' n' , ' v' }, ' [c' , function ()
137+ if vim .wo .diff then return ' [c' end
138+ vim .schedule (function () gs .prev_hunk () end )
139+ return ' <Ignore>'
140+ end , {expr = true , buffer = bufnr , desc = " Jump to previous hunk" })
130141 end ,
131142 },
132143 },
0 commit comments