summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid T. Sadler <davidtsadler@googlemail.com>2026-02-13 20:29:56 +0000
committerDavid T. Sadler <davidtsadler@googlemail.com>2026-02-13 20:29:56 +0000
commit3635dd88efd7bcb80e39a88022d995f568dd2ca8 (patch)
treed340cd3c4fc4b9d209912865fcb1bc61b73abdaf
parent310cd1a2decc6c3a19069ca09909d04e296f18c9 (diff)
Improve key mappings for pickers
-rw-r--r--nvim/.config/nvim/init.lua2
-rw-r--r--nvim/.config/nvim/lua/config/keymaps.lua24
-rw-r--r--nvim/.config/nvim/lua/plugins/blink-cmp.lua7
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,
}