Add .config/nvim/.luarc.json Add .config/nvim/init.lua Add .config/nvim/lazy-lock.json Add .config/nvim/lua/config/00_lazy.lua Add .config/nvim/lua/config/10_opts.lua Add .config/nvim/lua/config/20_keymaps.lua Add .config/nvim/lua/config/30_autocmds.lua Add .config/nvim/lua/config/40_statusline.lua Add .config/nvim/lua/plugin/00_treesitter.lua Add .config/nvim/lua/plugin/01_lsp.lua Add .config/nvim/lua/plugin/02_completion.lua Add .config/nvim/lua/plugin/03_tmux.lua Add .config/nvim/lua/plugin/04_fzflua.lua Add .config/nvim/lua/plugin/05_whichkey.lua Add .config/nvim/lua/plugin/06_leap.lua Add .config/nvim/lua/plugin/07_oil.lua Add .config/nvim/lua/plugin/08_ai.lua Add .config/nvim/lua/plugin/09_gitsigns.lua Add .config/nvim/lua/plugin/10_conform.lua Add .config/nvim/lua/plugin/11_yanky.lua Add .config/nvim/lua/plugin/12_neoscroll.lua Add .config/nvim/lua/plugin/13_easyalign.lua Add .config/nvim/lua/plugin/14_obsidian.lua Add .config/nvim/snippets/global.json Add .config/nvim/snippets/lua.json Add .config/nvim/snippets/package.json Add .config/nvim/stylua.toml
38 lines
1.2 KiB
Lua
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")
|