arch/private_dot_config/nvim/lua/config/20_keymaps.lua
lew 98f4fd1cbc Update .config/nvim/lazy-lock.json
Update .config/nvim/lua/config/20_keymaps.lua
Update .config/nvim/lua/plugin/03_treesitter.lua
Update .config/nvim/lua/plugin/05_fzf.lua
Update .config/nvim/lua/plugin/10_hop.lua
Update .config/nvim/lua/plugin/35_yanky.lua
2025-11-12 19:58:07 +00:00

38 lines
1.2 KiB
Lua

-- 20_keymaps.lua
---@diagnostic disable: unused-local, unused-function
-- stylua: ignore start
local map = function(mode, lhs, rhs, desc)
vim.keymap.set(mode, lhs, rhs, { noremap = true, desc = desc })
end
local nop = function(lhs) map({ "n", "v" }, lhs, "<nop>", "") end
local nmap = function(lhs, rhs, desc) map("n", lhs, rhs, desc) end
local xmap = function(lhs, rhs, desc) map("x", lhs, rhs, desc) end
local nmap_leader = function(lhs, rhs, desc) nmap("<Leader>" .. lhs, rhs, desc) end
nop('<C-w>s')
nop('<C-w>v')
nmap_leader(';', '<Cmd>vsplit<CR>', 'vsplit')
nmap_leader('-', '<Cmd>split<CR>', 'hsplit')
nmap_leader('ca', '<Cmd>lua vim.lsp.buf.code_action()<CR>', 'lsp code action')
nmap_leader('ci', '<Cmd>lua vim.lsp.buf.implementation()<CR>', 'lsp find implementation')
nmap_leader('cr', '<Cmd>lua vim.lsp.buf.references()<CR>', 'lsp find references')
nmap_leader('cR', '<Cmd>lua vim.lsp.buf.rename()<CR>', 'lsp rename')
local c = function(rhs)
return function()
local count = vim.v.count1
for _ = 1, count do
vim.cmd(rhs)
end
end
end
nmap(">", c("normal! >>"), "indent")
nmap("<", c("normal! <<"), "dedent")
xmap(">", ">gv", "indent and reselect")
xmap("<", "<gv", "dedent and reselect")