diff --git a/platforms/mac/karabiner/karabiner.json b/platforms/mac/karabiner/karabiner.json index 3e05f38..9fde0bd 100644 --- a/platforms/mac/karabiner/karabiner.json +++ b/platforms/mac/karabiner/karabiner.json @@ -1123,6 +1123,79 @@ "virtual_hid_keyboard": { "keyboard_type_v2": "ansi" } }, { + "complex_modifications": { + "rules": [ + { + "description": "Caps Lock: Ctrl in when coding, Cmd elsewhere, Esc when alone", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.apple\\.Terminal$", + "^org\\.alacritty$", + "^com\\.googlecode\\.iterm2$", + "^com\\.github\\.wez\\.wezterm$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.mitchellh\\.ghostty$", + "^com\\.neovide\\.neovide$", + "^org\\.gnu\\.Emacs$", + "^com\\.microsoft\\.VSCode$", + "^com\\.jetbrains\\.rider$", + "^com\\.jetbrains\\.pycharm$", + "^com\\.jetbrains\\.intellij$", + "^com\\.jetbrains\\.goland$", + "^com\\.jetbrains\\.clion$", + "^com\\.jetbrains\\.rustrover$", + "^dev\\.zed\\.Zed$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "caps_lock", + "modifiers": { "optional": ["any"] } + }, + "to": [{ "key_code": "left_control" }], + "to_if_alone": [{ "key_code": "escape" }], + "type": "basic" + }, + { + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.apple\\.Terminal$", + "^org\\.alacritty$", + "^com\\.googlecode\\.iterm2$", + "^com\\.github\\.wez\\.wezterm$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.mitchellh\\.ghostty$", + "^com\\.neovide\\.neovide$", + "^org\\.gnu\\.Emacs$", + "^com\\.microsoft\\.VSCode$", + "^com\\.jetbrains\\.rider$", + "^com\\.jetbrains\\.pycharm$", + "^com\\.jetbrains\\.intellij$", + "^com\\.jetbrains\\.goland$", + "^com\\.jetbrains\\.clion$", + "^com\\.jetbrains\\.rustrover$", + "^dev\\.zed\\.Zed$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "caps_lock", + "modifiers": { "optional": ["any"] } + }, + "to": [{ "key_code": "left_command" }], + "to_if_alone": [{ "key_code": "escape" }], + "type": "basic" + } + ] + } + ] + }, "name": "New profile", "selected": true, "virtual_hid_keyboard": { "keyboard_type_v2": "ansi" } diff --git a/tools/nvim/lua/keymaps/modifier.lua b/tools/nvim/lua/keymaps/modifier.lua index cd4b90a..2987d12 100644 --- a/tools/nvim/lua/keymaps/modifier.lua +++ b/tools/nvim/lua/keymaps/modifier.lua @@ -1,9 +1,9 @@ local keymaps_modifier = { -- Use C-w to move between windows - { keys = "h", cmd = "h", opts = { desc = "left Window" } }, - { keys = "n", cmd = "j", opts = { desc = "Down Window" } }, - { keys = "e", cmd = "k", opts = { desc = "Up Window" } }, - { keys = "i", cmd = "l", opts = { desc = "Right Window" } }, + -- { keys = "h", cmd = "h", opts = { desc = "left Window" } }, + -- { keys = "n", cmd = "j", opts = { desc = "Down Window" } }, + -- { keys = "e", cmd = "k", opts = { desc = "Up Window" } }, + -- { keys = "i", cmd = "l", opts = { desc = "Right Window" } }, { keys = "", cmd = "FzfLua commands", opts = { desc = "Commands" } }, } diff --git a/tools/nvim/lua/keymaps/visual-multi.lua b/tools/nvim/lua/keymaps/visual-multi.lua index e2b6cc7..e42386e 100644 --- a/tools/nvim/lua/keymaps/visual-multi.lua +++ b/tools/nvim/lua/keymaps/visual-multi.lua @@ -2,20 +2,8 @@ -- Use mouse to select multiple cursors vim.g.VM_mouse_mappings = 1 -- Disable default mappings -vim.g.VM_default_mappings = 0 -vim.g.VM_custom_motions = { - -- https://github.com/mg979/vim-visual-multi/issues/93 - h = "h", - n = "j", - e = "k", - i = "l", - j = "e", -} vim.g.VM_maps = { ["Add Cursor Down"] = "", ["Add Cursor Up"] = "", - ["i"] = "l", - ["I"] = "L", - ["n"] = "n", } diff --git a/tools/nvim/lua/keymaps/which.lua b/tools/nvim/lua/keymaps/which.lua index 742294a..68f0c3d 100644 --- a/tools/nvim/lua/keymaps/which.lua +++ b/tools/nvim/lua/keymaps/which.lua @@ -1,42 +1,42 @@ -local wk = require("which-key") -wk.add({ - -- https://github.com/folke/which-key.nvim/tree/main?tab=readme-ov-file#%EF%B8%8F-mappings - { - -- Nested mappings are allowed and can be added in any order - -- Most attributes can be inherited or overridden on any level - -- There's no limit to the depth of nesting - mode = { "n" }, - { "b", group = "Buffer" }, -- no need to specify mode since it's inherited - { "c", group = "Code/Compile" }, - { "f", group = "File" }, - { "p", group = "Project", icon = "" }, - { "q", group = "Quit" }, - { "t", group = "Toggle" }, - { "u", group = "UI" }, - { "w", group = "Window" }, - }, - { -- https://github.com/folke/which-key.nvim/blob/1f8d414f61e0b05958c342df9b6a4c89ce268766/lua/which-key/plugins/presets.lua#L57-L98 - -- text objects - mode = { "o", "x" }, - { "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" }, - }, -}) +-- local wk = require("which-key") +-- wk.add({ +-- -- https://github.com/folke/which-key.nvim/tree/main?tab=readme-ov-file#%EF%B8%8F-mappings +-- { +-- -- Nested mappings are allowed and can be added in any order +-- -- Most attributes can be inherited or overridden on any level +-- -- There's no limit to the depth of nesting +-- mode = { "n" }, +-- { "b", group = "Buffer" }, -- no need to specify mode since it's inherited +-- { "c", group = "Code/Compile" }, +-- { "f", group = "File" }, +-- { "p", group = "Project", icon = "" }, +-- { "q", group = "Quit" }, +-- { "t", group = "Toggle" }, +-- { "u", group = "UI" }, +-- { "w", group = "Window" }, +-- }, +-- { -- https://github.com/folke/which-key.nvim/blob/1f8d414f61e0b05958c342df9b6a4c89ce268766/lua/which-key/plugins/presets.lua#L57-L98 +-- -- text objects +-- mode = { "o", "x" }, +-- { "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" }, +-- }, +-- })