Re-add "hjkl" navigation, change leap to m, marks are set with <leader>m

instead.
This commit is contained in:
Martin Larsson 2025-01-11 13:11:52 +01:00
parent f242c7d414
commit 7fa8779c8e
2 changed files with 53 additions and 52 deletions

View file

@ -3,21 +3,22 @@ local g = vim.g
g.mapleader = " " g.mapleader = " "
g.maplocalleader = " " g.maplocalleader = " "
local move_up = {
cmd = "v:count || mode(1)[0:1] == \"no\" ? \"k\" : \"gk\"",
opts = {
expr = true
}
}
local move_down = {
cmd = "v:count || mode(1)[0:1] == \"no\" ? \"j\" : \"gj\"",
opts = {
expr = true
}
}
require("utils").add_keymaps({ require("utils").add_keymaps({
n = { n = {
-- Disable hjkl, using Colemak
["h"] = {
cmd = "<Nop>",
},
["j"] = {
cmd = "<Nop>",
},
["k"] = {
cmd = "<Nop>",
},
["l"] = {
cmd = "<Nop>",
},
-- Navigation -- Navigation
["<C-Left>"] = { ["<C-Left>"] = {
cmd = "<C-w>h", cmd = "<C-w>h",
@ -31,6 +32,18 @@ require("utils").add_keymaps({
["<C-Right>"] = { ["<C-Right>"] = {
cmd = "<C-w>l", cmd = "<C-w>l",
}, },
["<C-h>"] = {
cmd = "<C-w>h",
},
["<C-j>"] = {
cmd = "<C-w>j",
},
["<C-k>"] = {
cmd = "<C-w>k",
},
["<C-l>"] = {
cmd = "<C-w>l",
},
-- Window -- Window
["<C-q>"] = { ["<C-q>"] = {
@ -54,57 +67,45 @@ require("utils").add_keymaps({
-- http://www.reddit.com/r/vim/comments/2k4cbr/problem_with_gj_and_gk/ -- http://www.reddit.com/r/vim/comments/2k4cbr/problem_with_gj_and_gk/
-- empty mode is same as using <cmd> :map -- empty mode is same as using <cmd> :map
-- also don't use g[j|k] when in operator pending mode, so it doesn't alter d, y or c behaviour -- also don't use g[j|k] when in operator pending mode, so it doesn't alter d, y or c behaviour
["<Up>"] = { ["<Up>"] = move_up,
cmd = "v:count || mode(1)[0:1] == \"no\" ? \"k\" : \"gk\"", ["<Down>"] = move_down,
opts = { ["j"] = move_down,
expr = true ["k"] = move_up,
}
},
["<Down>"] = {
cmd = "v:count || mode(1)[0:1] == \"no\" ? \"j\" : \"gj\"",
opts = {
expr = true
}
},
-- Maps to remove -- Maps to remove
["<C-z>"] = { ["<C-z>"] = {
cmd = "<Nop>", cmd = "<Nop>",
}, },
-- Marks are less frequently used than leaping, also, less relevant with arrow and fzf navigation.
-- Prioritize regular m for leaping, and <leader>m for setting marks.
["<leader>m"] = {
cmd = "m",
},
}, },
i = {}, i = {},
v = { v = {
["<Up>"] = { ["<Up>"] = move_up,
cmd = "v:count || mode(1)[0:1] == \"no\" ? \"k\" : \"gk\"", ["<Down>"] = move_down,
opts = { ["j"] = move_down,
expr = true ["k"] = move_up,
}
},
["<Down>"] = {
cmd = "v:count || mode(1)[0:1] == \"no\" ? \"j\" : \"gj\"",
opts = {
expr = true
}
},
["<tab>"] = { ["<tab>"] = {
cmd = ">gv", cmd = ">gv",
}, },
["<S-tab>"] = { ["<S-tab>"] = {
cmd = "<gv", cmd = "<gv",
}, },
-- Marks are less frequently used than leaping, also, less relevant with arrow and fzf navigation.
-- Prioritize regular m for leaping, and <leader>m for setting marks.
["<leader>m"] = {
cmd = "m",
},
}, },
x = { x = {
["<Up>"] = { ["<Up>"] = move_up,
cmd = "v:count || mode(1)[0:1] == \"no\" ? \"k\" : \"gk\"", ["<Down>"] = move_down,
opts = { ["j"] = move_down,
expr = true ["k"] = move_up,
}
},
["<Down>"] = {
cmd = "v:count || mode(1)[0:1] == \"no\" ? \"j\" : \"gj\"",
opts = {
expr = true
}
},
["p"] = { ["p"] = {
cmd = "p:let @+=@0<CR>:let @\"=@0<CR>", cmd = "p:let @+=@0<CR>:let @\"=@0<CR>",
opts = { opts = {

View file

@ -69,21 +69,21 @@ return {
utils.add_keymaps({ utils.add_keymaps({
n = { n = {
["l"] = { ["m"] = {
cmd = function() cmd = function()
leap_across_windows() leap_across_windows()
end, end,
}, },
}, },
v = { v = {
["l"] = { ["m"] = {
cmd = function() cmd = function()
leap_in_current_buffer() leap_in_current_buffer()
end, end,
} }
}, },
o = { o = {
["l"] = { ["m"] = {
cmd = function() cmd = function()
leap_in_current_buffer() leap_in_current_buffer()
end, end,