From 551f86d9675087cb09f7a3367c7d12013ea00655 Mon Sep 17 00:00:00 2001 From: kj_sh604 Date: Mon, 8 Jun 2026 15:03:36 -0400 Subject: refactor: keymap compatibility changes --- .code-vimrc | 2 -- .config/Code/User/keybindings.json | 19 ++++++++++++++++++- .config/nvim/init.lua | 10 +++++----- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/.code-vimrc b/.code-vimrc index e88a240..eb089c1 100644 --- a/.code-vimrc +++ b/.code-vimrc @@ -2,8 +2,6 @@ nnoremap zz nnoremap zz nnoremap n nzzzv nnoremap N Nzzzv -nnoremap o :jumps vnoremap "+y vmap "+x map "+p -map p "+P diff --git a/.config/Code/User/keybindings.json b/.config/Code/User/keybindings.json index 020478d..147e74a 100644 --- a/.config/Code/User/keybindings.json +++ b/.config/Code/User/keybindings.json @@ -338,6 +338,23 @@ "command": "editor.action.formatDocument", "when": "vim.active && vim.mode == 'Normal'" }, + // .code-vimrc leader replicas + { + "key": "\\ o", + "command": "vim.remap", + "args": { + "commands": [{"command": ":jumps"}] + }, + "when": "vim.active && vim.mode == 'Normal'" + }, + { + "key": "\\ p", + "command": "vim.remap", + "args": { + "after": ["\"", "+", "P"] + }, + "when": "vim.active && vim.mode == 'Normal'" + }, // ai inline completion (mirrors my neovim minuet keymaps) { "key": "alt+a", @@ -356,7 +373,7 @@ }, // copilot inline chat (mirrors my neovim opencode keymaps) { - "key": "\\ o", + "key": "\\ i", "command": "inlineChat.start", "when": "vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasEditsAgent && inlineChatPossible && !config.inlineChat.askInChat && !editorReadonly && !editorSimpleInput || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasEditsAgent && inlineChatPossible && !editorReadonly && !editorSimpleInput && !inlineChatFileBelongsToChat || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasEditsAgent && inlineChatPossible && !config.inlineChat.askInChat && !editorReadonly && !editorSimpleInput && !inlineChatFileBelongsToChat || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasNotebookAgent && inlineChatPossible && !config.inlineChat.askInChat && !editorReadonly && !editorSimpleInput && activeEditor == 'workbench.editor.notebook' || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasNotebookAgent && inlineChatPossible && !editorReadonly && !editorSimpleInput && !inlineChatFileBelongsToChat && activeEditor == 'workbench.editor.notebook' || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasNotebookInline && inlineChatPossible && !config.inlineChat.askInChat && !editorReadonly && !editorSimpleInput && activeEditor == 'workbench.editor.notebook' || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasNotebookInline && inlineChatPossible && !editorReadonly && !editorSimpleInput && !inlineChatFileBelongsToChat && activeEditor == 'workbench.editor.notebook' || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasEditsAgent && inlineChatHasNotebookAgent && inlineChatPossible && !config.inlineChat.askInChat && !editorReadonly && !editorSimpleInput && activeEditor == 'workbench.editor.notebook' || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasEditsAgent && inlineChatHasNotebookAgent && inlineChatPossible && !editorReadonly && !editorSimpleInput && !inlineChatFileBelongsToChat && activeEditor == 'workbench.editor.notebook' || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasEditsAgent && inlineChatHasNotebookInline && inlineChatPossible && !config.inlineChat.askInChat && !editorReadonly && !editorSimpleInput && activeEditor == 'workbench.editor.notebook' || vim.active && vim.mode =~ /^(Normal|Visual|VisualLine|VisualBlock)$/ && editorFocus && inlineChatHasEditsAgent && inlineChatHasNotebookInline && inlineChatPossible && !editorReadonly && !editorSimpleInput && !inlineChatFileBelongsToChat && activeEditor == 'workbench.editor.notebook'" } diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 066a6f8..7b3596e 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -114,8 +114,8 @@ keymap("n", "h", ":NERDTreeToggle", { noremap = true }) keymap("n", "", ":NERDTreeToggle", { noremap = true }) keymap("n", "", ":NERDTreeToggle", { noremap = true }) keymap("n", "", ":NERDTree", { noremap = true }) -keymap("n", "", "w", { noremap = true }) -keymap("n", "", "W", { noremap = true }) +keymap({ "n", "t" }, "", "w", { noremap = true }) +keymap({ "n", "t" }, "", "W", { noremap = true }) keymap({ "n", "t" }, "j", function() toggle_terminal() end, { noremap = true }) keymap({ "n", "t" }, "", function() toggle_terminal() end, { noremap = true }) keymap("n", "sc", ":set spell!", { noremap = true, silent = true }) @@ -454,7 +454,7 @@ end -- opencode integration local ok_oc, opencode = pcall(require, "opencode") if ok_oc then - keymap({ "n", "x" }, "oa", function() opencode.ask("@this: ") end, { desc = "opencode: ask" }) - keymap({ "n", "x" }, "os", function() opencode.select() end, { desc = "opencode: select" }) - keymap({ "n", "x" }, "o", function() return opencode.operator("@this ") end, { desc = "opencode: operator", expr = true }) + keymap({ "n", "x" }, "i", function() opencode.ask("@this: ") end, { desc = "opencode: ask" }) + keymap({ "n", "x" }, "is", function() opencode.select() end, { desc = "opencode: select" }) + keymap({ "n", "x" }, "io", function() return opencode.operator("@this ") end, { desc = "opencode: operator", expr = true }) end -- cgit v1.2.3