From ef7b5680fb69d45eb3242d5c281286a8124cc22d Mon Sep 17 00:00:00 2001 From: js0ny Date: Tue, 14 Jan 2025 20:11:40 +0000 Subject: [PATCH] fix(nvim): Fix the line moving under o mode --- Justfile | 1 + tools/nvim/lua/keymaps/basic.lua | 53 ++++++++++++++++++++++++-------- tools/nvim/lua/keymaps/which.lua | 27 +++++++++++++--- 3 files changed, 64 insertions(+), 17 deletions(-) diff --git a/Justfile b/Justfile index 76ac4b8..675329d 100644 --- a/Justfile +++ b/Justfile @@ -10,5 +10,6 @@ push: git push codeberg master init: + git remote remove origin git remote add github git@github.com:js0ny/dotfiles.git git remote add codeberg git@codeberg.org:js0ny/dotfiles.git diff --git a/tools/nvim/lua/keymaps/basic.lua b/tools/nvim/lua/keymaps/basic.lua index a8c5bef..8035d48 100644 --- a/tools/nvim/lua/keymaps/basic.lua +++ b/tools/nvim/lua/keymaps/basic.lua @@ -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 -- 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, keys = "", cmd = "v:count == 0 ? 'gj' : 'j'", - opts = { desc = "Up", expr = true, silent = true }, + opts = { desc = "Down", expr = true, silent = true }, }, { mode = mode_arrow, @@ -26,22 +26,49 @@ local keymaps_basic = { -- Modification of Original Keymap - Colemak cmd = "v:count == 0 ? 'gk' : 'k'", opts = { desc = "Up", expr = true, silent = true }, }, + + { + mode = "o", + keys = "n", + cmd = "j", + opts = { desc = "Down", silent = true }, + }, + { + mode = "o", + keys = "", + cmd = "j", + opts = { desc = "Down", silent = true }, + }, + { + mode = "o", + keys = "e", + cmd = "k", + opts = { desc = "Up", silent = true }, + }, + { + mode = "o", + keys = "", + cmd = "k", + opts = { desc = "Up", 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 } }, - { keys = "H", cmd = ":bprevious" }, - { keys = "N", cmd = "5j" }, + { keys = "H", cmd = ":bprevious", opts = { desc = "Previous Buffer" } }, + { keys = "I", cmd = ":bnext", 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 = "I", cmd = ":bnext" }, -- Text object implementation - { mode = { "n", "o", "x" }, keys = "l", cmd = "i", opts = { desc = "inside" } }, - { keys = "L", cmd = "I" }, - { keys = "k", cmd = "n" }, - { keys = "K", cmd = "N" }, - { keys = "j", cmd = "e" }, - { keys = "J", cmd = "E" }, - { keys = "Y", cmd = "y$" }, + { mode = { "n", "o", "x" }, keys = "l", cmd = "i", opts = { desc = "Insert" } }, + { keys = "L", cmd = "I", opts = { desc = "Insert at Start of Line" } }, + { keys = "k", cmd = "n", opts = { desc = "Next Search" } }, + { keys = "K", cmd = "N", opts = { desc = "Previous Search" } }, + { keys = "j", cmd = "e", opts = { desc = "jump to end of word" } }, + { keys = "J", cmd = "E", opts = { desc = "jump to end of WORD" } }, -- https://github.com/LazyVim/LazyVim/blob/d1529f650fdd89cb620258bdeca5ed7b558420c7/lua/lazyvim/config/keymaps.lua#L60 - { keys = "", cmd = "nohlsearchdiffupdate" }, + { keys = "", cmd = "nohlsearchdiffupdate", opts = { desc = "Clear Search Highlight" } }, } return keymaps_basic diff --git a/tools/nvim/lua/keymaps/which.lua b/tools/nvim/lua/keymaps/which.lua index fd01c41..742294a 100644 --- a/tools/nvim/lua/keymaps/which.lua +++ b/tools/nvim/lua/keymaps/which.lua @@ -9,15 +9,34 @@ wk.add({ { "b", group = "Buffer" }, -- no need to specify mode since it's inherited { "c", group = "Code/Compile" }, { "f", group = "File" }, - { "p", group = "Project" }, + { "p", group = "Project", icon = "" }, { "q", group = "Quit" }, { "t", group = "Toggle" }, { "u", group = "UI" }, { "w", group = "Window" }, }, - { - "l", + { -- https://github.com/folke/which-key.nvim/blob/1f8d414f61e0b05958c342df9b6a4c89ce268766/lua/which-key/plugins/presets.lua#L57-L98 + -- text objects 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" }, }, })