47 lines
1.8 KiB
Lua
47 lines
1.8 KiB
Lua
local map = vim.keymap.set
|
|
|
|
map("i", "<C-b>", "<ESC>^i", { desc = "move beginning of line" })
|
|
map("i", "<C-e>", "<End>", { desc = "move end of line" })
|
|
map("i", "<C-h>", "<Left>", { desc = "move left" })
|
|
map("i", "<C-l>", "<Right>", { desc = "move right" })
|
|
map("i", "<C-j>", "<Down>", { desc = "move down" })
|
|
map("i", "<C-k>", "<Up>", { desc = "move up" })
|
|
|
|
map("n", "<C-h>", "<C-w>h", { desc = "switch window left" })
|
|
map("n", "<C-l>", "<C-w>l", { desc = "switch window right" })
|
|
map("n", "<C-j>", "<C-w>j", { desc = "switch window down" })
|
|
map("n", "<C-k>", "<C-w>k", { desc = "switch window up" })
|
|
|
|
map("n", "<Esc>", "<cmd>noh<CR>", { desc = "general clear highlights" })
|
|
|
|
map("n", "<C-s>", "<cmd>w<CR>", { desc = "general save file" })
|
|
map("n", "<C-c>", "<cmd>%y+<CR>", { desc = "general copy whole file" })
|
|
|
|
map("n", "<leader>n", "<cmd>set nu!<CR>", { desc = "toggle line number" })
|
|
map("n", "<leader>rn", "<cmd>set rnu!<CR>", { desc = "toggle relative number" })
|
|
|
|
map({ "n", "x" }, "<leader>fm", function()
|
|
require("conform").format { lsp_fallback = true }
|
|
end, { desc = "general format file" })
|
|
|
|
-- global lsp mappings
|
|
map("n", "<leader>ds", vim.diagnostic.setloclist, { desc = "LSP diagnostic loclist" })
|
|
|
|
-- Comment
|
|
map("n", "<leader>/", "gcc", { desc = "toggle comment", remap = true })
|
|
map("v", "<leader>/", "gc", { desc = "toggle comment", remap = true })
|
|
|
|
-- terminal
|
|
map("t", "<C-x>", "<C-\\><C-N>", { desc = "terminal escape terminal mode" })
|
|
|
|
-- whichkey
|
|
map("n", "<leader>wK", "<cmd>WhichKey <CR>", { desc = "whichkey all keymaps" })
|
|
|
|
map("n", "<leader>wk", function()
|
|
vim.cmd("WhichKey " .. vim.fn.input "WhichKey: ")
|
|
end, { desc = "whichkey query lookup" })
|
|
|
|
|
|
map('v', '<LeftRelease>', '"+ygv"*ygv', { noremap = true })
|
|
map('v', '<2-LeftRelease>', '"+ygv"*ygv', { noremap = true })
|