fix(nvim): Fix the line moving under o mode

This commit is contained in:
js0ny 2025-01-14 20:11:40 +00:00
parent 1b2fc3015b
commit ef7b5680fb
3 changed files with 64 additions and 17 deletions

View file

@ -10,5 +10,6 @@ push:
git push codeberg master git push codeberg master
init: init:
git remote remove origin
git remote add github git@github.com:js0ny/dotfiles.git git remote add github git@github.com:js0ny/dotfiles.git
git remote add codeberg git@codeberg.org:js0ny/dotfiles.git git remote add codeberg git@codeberg.org:js0ny/dotfiles.git

View file

@ -1,4 +1,4 @@
local mode_arrow = { "n", "v", "o", "s", "x" } local mode_arrow = { "n", "v", "s", "x" }
local keymaps_basic = { -- Modification of Original Keymap - Colemak local keymaps_basic = { -- Modification of Original Keymap - Colemak
-- https://github.com/LazyVim/LazyVim/blob/d1529f650fdd89cb620258bdeca5ed7b558420c7/lua/lazyvim/config/keymaps.lua#L8 -- https://github.com/LazyVim/LazyVim/blob/d1529f650fdd89cb620258bdeca5ed7b558420c7/lua/lazyvim/config/keymaps.lua#L8
@ -12,7 +12,7 @@ local keymaps_basic = { -- Modification of Original Keymap - Colemak
mode = mode_arrow, mode = mode_arrow,
keys = "<Down>", keys = "<Down>",
cmd = "v:count == 0 ? 'gj' : 'j'", cmd = "v:count == 0 ? 'gj' : 'j'",
opts = { desc = "Up", expr = true, silent = true }, opts = { desc = "Down", expr = true, silent = true },
}, },
{ {
mode = mode_arrow, mode = mode_arrow,
@ -26,22 +26,49 @@ local keymaps_basic = { -- Modification of Original Keymap - Colemak
cmd = "v:count == 0 ? 'gk' : 'k'", cmd = "v:count == 0 ? 'gk' : 'k'",
opts = { desc = "Up", expr = true, silent = true }, opts = { desc = "Up", expr = true, silent = true },
}, },
{
mode = "o",
keys = "n",
cmd = "j",
opts = { desc = "Down", silent = true },
},
{
mode = "o",
keys = "<Down>",
cmd = "j",
opts = { desc = "Down", silent = true },
},
{
mode = "o",
keys = "e",
cmd = "k",
opts = { desc = "Up", silent = true },
},
{
mode = "o",
keys = "<Up>",
cmd = "k",
opts = { desc = "Up", silent = true },
},
{ mode = mode_arrow, keys = "h", cmd = "h", opts = { desc = "Left", silent = true } }, { mode = mode_arrow, keys = "h", cmd = "h", opts = { desc = "Left", silent = true } },
{ mode = mode_arrow, keys = "i", cmd = "l", opts = { desc = "Right", silent = true } }, { mode = mode_arrow, keys = "i", cmd = "l", opts = { desc = "Right", silent = true } },
{ keys = "H", cmd = ":bprevious<CR>" }, { keys = "H", cmd = ":bprevious<CR>", opts = { desc = "Previous Buffer" } },
{ keys = "N", cmd = "5j" }, { keys = "I", cmd = ":bnext<CR>", opts = { desc = "Next Buffer" } },
{ keys = "N", cmd = "5k", opts = { desc = "Up 5 Lines" } },
{ keys = "E", cmd = "5j", opts = { desc = "Down 5 Lines" } },
{ keys = "Y", cmd = "y$", opts = { desc = "Yank to End of Line" } },
{ keys = "E", cmd = "5k" }, { keys = "E", cmd = "5k" },
{ keys = "I", cmd = ":bnext<CR>" },
-- Text object implementation -- Text object implementation
{ mode = { "n", "o", "x" }, keys = "l", cmd = "i", opts = { desc = "inside" } }, { mode = { "n", "o", "x" }, keys = "l", cmd = "i", opts = { desc = "Insert" } },
{ keys = "L", cmd = "I" }, { keys = "L", cmd = "I", opts = { desc = "Insert at Start of Line" } },
{ keys = "k", cmd = "n" }, { keys = "k", cmd = "n", opts = { desc = "Next Search" } },
{ keys = "K", cmd = "N" }, { keys = "K", cmd = "N", opts = { desc = "Previous Search" } },
{ keys = "j", cmd = "e" }, { keys = "j", cmd = "e", opts = { desc = "jump to end of word" } },
{ keys = "J", cmd = "E" }, { keys = "J", cmd = "E", opts = { desc = "jump to end of WORD" } },
{ keys = "Y", cmd = "y$" },
-- https://github.com/LazyVim/LazyVim/blob/d1529f650fdd89cb620258bdeca5ed7b558420c7/lua/lazyvim/config/keymaps.lua#L60 -- https://github.com/LazyVim/LazyVim/blob/d1529f650fdd89cb620258bdeca5ed7b558420c7/lua/lazyvim/config/keymaps.lua#L60
{ keys = "<Esc>", cmd = "<Cmd>nohlsearch<Bar>diffupdate<CR>" }, { keys = "<Esc>", cmd = "<Cmd>nohlsearch<Bar>diffupdate<CR>", opts = { desc = "Clear Search Highlight" } },
} }
return keymaps_basic return keymaps_basic

View file

@ -9,15 +9,34 @@ wk.add({
{ "<leader>b", group = "Buffer" }, -- no need to specify mode since it's inherited { "<leader>b", group = "Buffer" }, -- no need to specify mode since it's inherited
{ "<leader>c", group = "Code/Compile" }, { "<leader>c", group = "Code/Compile" },
{ "<leader>f", group = "File" }, { "<leader>f", group = "File" },
{ "<leader>p", group = "Project" }, { "<leader>p", group = "Project", icon = "" },
{ "<leader>q", group = "Quit" }, { "<leader>q", group = "Quit" },
{ "<leader>t", group = "Toggle" }, { "<leader>t", group = "Toggle" },
{ "<leader>u", group = "UI" }, { "<leader>u", group = "UI" },
{ "<leader>w", group = "Window" }, { "<leader>w", group = "Window" },
}, },
{ { -- https://github.com/folke/which-key.nvim/blob/1f8d414f61e0b05958c342df9b6a4c89ce268766/lua/which-key/plugins/presets.lua#L57-L98
"l", -- text objects
mode = { "o", "x" }, mode = { "o", "x" },
group = "inside", { "l", group = "inside" },
{ 'l"', desc = 'inner " string' },
{ "l'", desc = "inner ' string" },
{ "l(", desc = "inner [(])" },
{ "l)", desc = "inner [(])" },
{ "l<", desc = "inner <>" },
{ "l>", desc = "inner <>" },
{ "lB", desc = "inner [{]}" },
{ "lW", desc = "inner WORD" },
{ "l[", desc = "inner []" },
{ "l]", desc = "inner []" },
{ "l`", desc = "inner ` string" },
{ "lb", desc = "inner [(])" },
{ "lp", desc = "inner paragraph" },
{ "ls", desc = "inner sentence" },
{ "lt", desc = "inner tag block" },
{ "lw", desc = "inner word" },
{ "l{", desc = "inner [{]}" },
{ "l}", desc = "inner [{]}" },
{ "i", desc = "Right" },
}, },
}) })