local gitsigns = require "gitsigns" gitsigns.setup { linehl = false, numhl = true, } local set = vim.keymap.set set("n", "[h", "Gitsigns prev_hunk") set("n", "]h", "Gitsigns next_hunk") set("n", "hR", gitsigns.reset_buffer) set("n", "hS", gitsigns.stage_buffer) set("n", "hb", gitsigns.blame_line) set("n", "hp", gitsigns.preview_hunk) set("n", "hr", gitsigns.reset_hunk) set("n", "hs", gitsigns.stage_hunk) set("n", "hu", gitsigns.undo_stage_hunk) set("v", "hr", function() gitsigns.reset_hunk { vim.fn.line ".", vim.fn.line "v" } end) set("v", "hs", function() gitsigns.stage_hunk { vim.fn.line ".", vim.fn.line "v" } end) -- Text object. set({ "o", "x" }, "ih", ":Gitsigns select_hunk")