diff options
| author | David T. Sadler <davidtsadler@googlemail.com> | 2026-02-13 20:29:56 +0000 |
|---|---|---|
| committer | David T. Sadler <davidtsadler@googlemail.com> | 2026-02-13 20:29:56 +0000 |
| commit | 3635dd88efd7bcb80e39a88022d995f568dd2ca8 (patch) | |
| tree | d340cd3c4fc4b9d209912865fcb1bc61b73abdaf | |
| parent | 310cd1a2decc6c3a19069ca09909d04e296f18c9 (diff) | |
Improve key mappings for pickers
| -rw-r--r-- | nvim/.config/nvim/init.lua | 2 | ||||
| -rw-r--r-- | nvim/.config/nvim/lua/config/keymaps.lua | 24 | ||||
| -rw-r--r-- | nvim/.config/nvim/lua/plugins/blink-cmp.lua | 7 |
3 files changed, 19 insertions, 14 deletions
diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua index d18022c..372bf48 100644 --- a/nvim/.config/nvim/init.lua +++ b/nvim/.config/nvim/init.lua @@ -1,6 +1,6 @@ require('config.globals') require('config.options') +require('plugins') require('config.keymaps') require('config.autocmds') require('config.lsp') -require('plugins') diff --git a/nvim/.config/nvim/lua/config/keymaps.lua b/nvim/.config/nvim/lua/config/keymaps.lua index 00d74ee..53fc349 100644 --- a/nvim/.config/nvim/lua/config/keymaps.lua +++ b/nvim/.config/nvim/lua/config/keymaps.lua @@ -2,6 +2,9 @@ local set = vim.keymap.set +-- Quickly source current file. +set('n', '<leader>r', '<cmd>source %<cr>', { desc = 'Source Current File' }) + -- Better up/down though display lines instead of logical lines. -- But still allow count when jumping by logical lines. set({ 'n', 'x' }, 'j', "v:count == 0 ? 'gj' : 'j'", { desc = 'Down', expr = true, silent = true }) @@ -9,19 +12,19 @@ set({ 'n', 'x' }, '<Down>', "v:count == 0 ? 'gj' : 'j'", { desc = 'Down', expr = set({ 'n', 'x' }, 'k', "v:count == 0 ? 'gk' : 'k'", { desc = 'Up', expr = true, silent = true }) set({ 'n', 'x' }, '<Up>', "v:count == 0 ? 'gk' : 'k'", { desc = 'Up', expr = true, silent = true }) --- Window using <ctrl> arrow keys. +-- Window resizing using <ctrl> arrow keys. set('n', '<C-Up>', '<cmd>resize +2<cr>', { desc = 'Increase Window Height' }) set('n', '<C-Down>', '<cmd>resize -2<cr>', { desc = 'Decrease Window Height' }) set('n', '<C-Left>', '<cmd>vertical resize -2<cr>', { desc = 'Decrease Window Width' }) set('n', '<C-Right>', '<cmd>vertical resize +2<cr>', { desc = 'Increase Window Width' }) -- Move lines up/down. -set('n', '<C-j>', "<cmd>execute 'move .+' . v:count1<cr>==", { desc = 'Move Down' }) -set('n', '<C-k>', "<cmd>execute 'move .-' . (v:count1 + 1)<cr>==", { desc = 'Move Up' }) -set('i', '<C-j>', '<esc><cmd>m .+1<cr>==gi', { desc = 'Move Down' }) -set('i', '<C-k>', '<esc><cmd>m .-2<cr>==gi', { desc = 'Move Up' }) -set('v', '<C-j>', ":<C-u>execute \"'<,'>move '>+\" . v:count1<cr>gv=gv", { desc = 'Move Down' }) -set('v', '<C-k>', ":<C-u>execute \"'<,'>move '<-\" . (v:count1 + 1)<cr>gv=gv", { desc = 'Move Up' }) +set('n', '<S-j>', "<cmd>execute 'move .+' . v:count1<cr>==", { desc = 'Move Down' }) +set('n', '<S-k>', "<cmd>execute 'move .-' . (v:count1 + 1)<cr>==", { desc = 'Move Up' }) +set('i', '<S-j>', '<esc><cmd>m .+1<cr>==gi', { desc = 'Move Down' }) +set('i', '<S-k>', '<esc><cmd>m .-2<cr>==gi', { desc = 'Move Up' }) +set('v', '<S-j>', ":<C-u>execute \"'<,'>move '>+\" . v:count1<cr>gv=gv", { desc = 'Move Down' }) +set('v', '<S-k>', ":<C-u>execute \"'<,'>move '<-\" . (v:count1 + 1)<cr>gv=gv", { desc = 'Move Up' }) -- Buffer navigation. set('n', '<,', '<cmd>bprevious<cr>', { desc = 'Prev Buffer' }) @@ -118,9 +121,6 @@ set({ 'n', 'v' }, '<leader>d', '"_d', { desc = 'Delete Without Yanking' }) -- Toggle visible whitespace characters.... set('n', '<leader>l', '<cmd>set list!<cr>', { desc = 'Toggle Hidden Characters' }) --- Quickly source current file. -set('n', '<leader>xx', '<cmd>source %<cr>', { desc = 'Source Current File' }) - -- LSP set('n', '<leader>cl', function() Snacks.picker.lsp_config() end, { desc = "Lsp Info" }) set('n', 'gd', vim.lsp.buf.definition, { desc = 'Goto Definition' }) @@ -128,8 +128,8 @@ set('n', 'gr', vim.lsp.buf.references, { desc = 'References', nowait = true }) set('n', 'gI', vim.lsp.buf.implementation, { desc = 'Goto Implementation' }) set('n', 'gy', vim.lsp.buf.type_definition, { desc = 'Goto T[y]pe Definition' }) set('n', 'gD', vim.lsp.buf.declaration, { desc = 'Goto Declaration' }) -set('n', 'K', function() return vim.lsp.buf.hover() end, { desc = 'Hover' }) -set('n', 'gK', function() return vim.lsp.buf.signature_help() end, { desc = 'Signature Help' }) +set('n', 'H', function() return vim.lsp.buf.hover() end, { desc = 'Hover' }) +set('n', 'gH', function() return vim.lsp.buf.signature_help() end, { desc = 'Signature Help' }) set({'n', 'x'}, '<leader>ca', vim.lsp.buf.code_action, { desc = 'Code Action' }) set({'n', 'x'}, '<leader>cc', vim.lsp.codelens.run, { desc = 'Run Codelens' }) set('n', '<leader>cR', function() Snacks.rename.rename_file() end, { desc = 'Rename File' }) diff --git a/nvim/.config/nvim/lua/plugins/blink-cmp.lua b/nvim/.config/nvim/lua/plugins/blink-cmp.lua index 0c11960..0027c0a 100644 --- a/nvim/.config/nvim/lua/plugins/blink-cmp.lua +++ b/nvim/.config/nvim/lua/plugins/blink-cmp.lua @@ -6,12 +6,17 @@ vim.pack.add({{ require('blink.cmp').setup({ keymap = { preset = 'default', + ['<C-k>'] = { 'select_prev', 'fallback_to_mappings' }, + ['<C-j>'] = { 'select_next', 'fallback_to_mappings' }, + ['<C-l>'] = { 'select_and_accept', 'fallback' }, }, appearance = { nerd_font_variant = 'mono', }, - -- Only show the documentation popup when manually triggered. completion = { + menu = { + auto_show = false, + }, documentation = { auto_show = false, } |
