Files
nvim/lua/nami/remap.lua
2026-04-21 23:24:25 +02:00

94 lines
3.0 KiB
Lua

vim.g.mapleader = " "
vim.cmd("command! W w")
vim.cmd("command! ON ObsidianNew")
-- Macros
vim.keymap.set("n", "<leader>c", ":w<CR>:!cargo<Space>run<CR>")
-- vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)
vim.keymap.set("n", "<leader>pv", "<CMD>Oil<CR>", { desc = "Open parent directory" })
vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory" })
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
vim.keymap.set("n", "J", "mzJ`z")
vim.keymap.set("n", "<C-d>", "<C-d>zz")
vim.keymap.set("n", "<C-u>", "<C-u>zz")
vim.keymap.set("n", "n", "nzzzv")
vim.keymap.set("n", "N", "Nzzzv")
-- greatest remap ever
vim.keymap.set("x", "<leader>p", "\"_dP")
-- next greatest remap ever : asbjornHaland
-- to void register (system)
vim.keymap.set("n", "<leader>y", "\"+y")
vim.keymap.set("v", "<leader>y", "\"+y")
vim.keymap.set("n", "<leader>Y", "\"+Y")
vim.keymap.set("v", "<leader>d", "\"_d")
-- This is going to get me cancelled
vim.keymap.set("i", "<C-c>", "<Esc>")
vim.keymap.set("n", "Q", "<nop>")
vim.keymap.set("n", "<C-f>", "<cmd>silent !tmux display-popup -E \"tmuxss -i\"<CR>")
vim.keymap.set("n", "<leader>f", function()
vim.lsp.buf.format()
end)
-- vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
-- vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
-- vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz")
-- vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz")
vim.keymap.set("n", "<leader>s", ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>")
vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true })
for _, mode in ipairs({ "n", "v", "i" }) do
vim.keymap.set(mode, "<RightMouse>", function() end)
vim.keymap.set(mode, "<2-RightMouse>", function() end)
vim.keymap.set(mode, "<3-RightMouse>", function() end)
vim.keymap.set(mode, "<4-RightMouse>", function() end)
end
vim.keymap.set("n", "<C-M>", "<cmd>tabnext +<CR>")
vim.keymap.set("n", "<C-N>", "<cmd>tabnext -<CR>")
vim.keymap.set("n", "<C-t>", "<cmd>tabnew<CR>")
-- vim.keymap.del("n", "<C-w>d")
-- vim.keymap.del("n", "<C-w><C-d>")
vim.keymap.set("n", "<C-w><C-t>", "<cmd>tabclose<CR>")
vim.keymap.set("n", "<space><space>l", "<cmd>source %<CR>")
vim.keymap.set("n", "<space>l", ":.lua<CR>")
vim.keymap.set("v", "<space>l", ":lua<CR>")
local function swap_words()
local start = vim.fn.getpos("'<")[2]
local finish = vim.fn.getpos("'>")[2]
local w1 = vim.fn.input("Word 1: ")
local w2 = vim.fn.input("Word 2: ")
if w1 == "" or w2 == "" then
return
end
local lines = vim.api.nvim_buf_get_lines(0, start - 1, finish, false)
for i, line in ipairs(lines) do
line = line:gsub(vim.pesc(w1), "__TMP__")
line = line:gsub(vim.pesc(w2), w1)
line = line:gsub("__TMP__", w2)
lines[i] = line
end
vim.api.nvim_buf_set_lines(0, start - 1, finish, false, lines)
end
vim.keymap.set("v", "<leader>ws", swap_words, { desc = "Swap two words in selection" })
vim.keymap.set("n", "<leader>ws", swap_words, { desc = "Swap two words in selection" })