From b93cabc51b3304a2eaeb9467ce6118c96003e878 Mon Sep 17 00:00:00 2001 From: Fredrik Ekre Date: Wed, 4 May 2022 19:20:47 +0200 Subject: [PATCH] [nvim] Add hunk navigation keybindings for gitsigns. --- .config/nvim/init.vim | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index acf4ab9..dc0d269 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -60,7 +60,7 @@ local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protoco -- Set LSP keymappings in on_attach (i.e. only in buffers with LSP active) local on_attach = function(client, bufnr) - opts = { noremap=true, silent=true } + local opts = { noremap=true, silent=true } vim.api.nvim_buf_set_keymap(bufnr, 'n', 'K', 'lua vim.lsp.buf.hover()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gd', 'lua vim.lsp.buf.definition()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'lrn', 'lua vim.lsp.buf.rename()', opts) @@ -95,6 +95,13 @@ require('gitsigns').setup({ add = { text = '+'}, change = { text = '±'}, }, + on_attach = function(bufnr) + -- Hunk navigation + local opts = { expr=true, noremap=true, silent=true, } + vim.api.nvim_buf_set_keymap(bufnr, 'n', ']c', "&diff ? ']c' : 'Gitsigns next_hunk'", opts) + vim.api.nvim_buf_set_keymap(bufnr, 'n', '[c', "&diff ? '[c' : 'Gitsigns prev_hunk'", opts) + end, + }) EOF