nvim qwerty

This commit is contained in:
js0ny 2025-07-16 18:51:38 +08:00
parent 11fddbf8c0
commit c102b36474
4 changed files with 119 additions and 58 deletions

View file

@ -1123,6 +1123,79 @@
"virtual_hid_keyboard": { "keyboard_type_v2": "ansi" } "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", "name": "New profile",
"selected": true, "selected": true,
"virtual_hid_keyboard": { "keyboard_type_v2": "ansi" } "virtual_hid_keyboard": { "keyboard_type_v2": "ansi" }

View file

@ -1,9 +1,9 @@
local keymaps_modifier = { local keymaps_modifier = {
-- Use C-w to move between windows -- Use C-w to move between windows
{ keys = "<C-w>h", cmd = "<C-w>h", opts = { desc = "left Window" } }, -- { keys = "<C-w>h", cmd = "<C-w>h", opts = { desc = "left Window" } },
{ keys = "<C-w>n", cmd = "<C-w>j", opts = { desc = "Down Window" } }, -- { keys = "<C-w>n", cmd = "<C-w>j", opts = { desc = "Down Window" } },
{ keys = "<C-w>e", cmd = "<C-w>k", opts = { desc = "Up Window" } }, -- { keys = "<C-w>e", cmd = "<C-w>k", opts = { desc = "Up Window" } },
{ keys = "<C-w>i", cmd = "<C-w>l", opts = { desc = "Right Window" } }, -- { keys = "<C-w>i", cmd = "<C-w>l", opts = { desc = "Right Window" } },
{ keys = "<A-x>", cmd = "<Cmd>FzfLua commands<CR>", opts = { desc = "Commands" } }, { keys = "<A-x>", cmd = "<Cmd>FzfLua commands<CR>", opts = { desc = "Commands" } },
} }

View file

@ -2,20 +2,8 @@
-- Use mouse to select multiple cursors -- Use mouse to select multiple cursors
vim.g.VM_mouse_mappings = 1 vim.g.VM_mouse_mappings = 1
-- Disable default mappings -- 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 = { vim.g.VM_maps = {
["Add Cursor Down"] = "<A-n>", ["Add Cursor Down"] = "<A-n>",
["Add Cursor Up"] = "<A-e>", ["Add Cursor Up"] = "<A-e>",
["i"] = "l",
["I"] = "L",
["n"] = "n",
} }

View file

@ -1,42 +1,42 @@
local wk = require("which-key") -- local wk = require("which-key")
wk.add({ -- wk.add({
-- https://github.com/folke/which-key.nvim/tree/main?tab=readme-ov-file#%EF%B8%8F-mappings -- -- 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 -- -- Nested mappings are allowed and can be added in any order
-- Most attributes can be inherited or overridden on any level -- -- Most attributes can be inherited or overridden on any level
-- There's no limit to the depth of nesting -- -- There's no limit to the depth of nesting
mode = { "n" }, -- mode = { "n" },
{ "<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", icon = "" }, -- { "<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 -- { -- https://github.com/folke/which-key.nvim/blob/1f8d414f61e0b05958c342df9b6a4c89ce268766/lua/which-key/plugins/presets.lua#L57-L98
-- text objects -- -- text objects
mode = { "o", "x" }, -- mode = { "o", "x" },
{ "l", group = "inside" }, -- { "l", group = "inside" },
{ 'l"', desc = 'inner " string' }, -- { 'l"', desc = 'inner " string' },
{ "l'", desc = "inner ' string" }, -- { "l'", desc = "inner ' string" },
{ "l(", desc = "inner [(])" }, -- { "l(", desc = "inner [(])" },
{ "l)", desc = "inner [(])" }, -- { "l)", desc = "inner [(])" },
{ "l<", desc = "inner <>" }, -- { "l<", desc = "inner <>" },
{ "l>", desc = "inner <>" }, -- { "l>", desc = "inner <>" },
{ "lB", desc = "inner [{]}" }, -- { "lB", desc = "inner [{]}" },
{ "lW", desc = "inner WORD" }, -- { "lW", desc = "inner WORD" },
{ "l[", desc = "inner []" }, -- { "l[", desc = "inner []" },
{ "l]", desc = "inner []" }, -- { "l]", desc = "inner []" },
{ "l`", desc = "inner ` string" }, -- { "l`", desc = "inner ` string" },
{ "lb", desc = "inner [(])" }, -- { "lb", desc = "inner [(])" },
{ "lp", desc = "inner paragraph" }, -- { "lp", desc = "inner paragraph" },
{ "ls", desc = "inner sentence" }, -- { "ls", desc = "inner sentence" },
{ "lt", desc = "inner tag block" }, -- { "lt", desc = "inner tag block" },
{ "lw", desc = "inner word" }, -- { "lw", desc = "inner word" },
{ "l{", desc = "inner [{]}" }, -- { "l{", desc = "inner [{]}" },
{ "l}", desc = "inner [{]}" }, -- { "l}", desc = "inner [{]}" },
{ "i", desc = "Right" }, -- { "i", desc = "Right" },
}, -- },
}) -- })