1
Fork 0
dots/nvim/lua/config/keymaps.lua
2025-04-10 00:09:50 +05:00

70 lines
1.8 KiB
Lua

local set = vim.keymap.set
vim.g.mapleader = " "
set("i", "jk", "<ESC>")
set("i", "kj", "<ESC>")
set({ "n", "x" }, "j", [[v:count == 0 ? "gj" : "j"]], { expr = true })
set({ "n", "x" }, "k", [[v:count == 0 ? "gk" : "k"]], { expr = true })
set({ "n", "x" }, ";", ":")
set({ "n", "x" }, ":", ";")
set({ "n", "x" }, "gy", "\"+y")
set("n", "gp", "\"+p")
set("n", "n", "nzz")
set("n", "N", "Nzz")
set("n", "<c-u>", "<c-u>zz")
set("n", "<c-d>", "<c-d>zz")
set("n", "<leader>w", "<c-w>", { remap = true })
set("n", "<cr>", function()
if vim.v.hlsearch == 1 then
vim.cmd.nohlsearch()
return ""
else
return "<cr>"
end
end, { expr = true })
vim.api.nvim_create_autocmd("Filetype", {
pattern = "lua",
group = vim.api.nvim_create_augroup("Execute Lua", { clear = true }),
callback = function()
set("n", "<leader>x", "<cmd>.lua<cr>", { buffer = true })
set("x", "<leader>x", ":lua<cr>", { buffer = true })
set("n", "<leader><leader>x", "<cmd>%lua<cr>", { buffer = true })
end,
})
local M = {}
function M.telescope()
local builtin = require("telescope.builtin")
set("n", "<leader>ff", builtin.find_files)
set("n", "<leader>fh", builtin.help_tags)
set("n", "<leader>ft", builtin.builtin)
set("n", "<leader>fm", builtin.man_pages)
set("n", "<leader>fd", function()
builtin.find_files({
cwd = "$DOTS",
prompt_title = "< DOTFILES >"
})
end)
end
function M.harpoon()
set("", "<leader>ha", require("harpoon.mark").add_file)
set("", "<leader>ho", require("harpoon.ui").toggle_quick_menu)
set("", "<leader>hf", function() require("harpoon.ui").nav_file(1) end)
set("", "<leader>hd", function() require("harpoon.ui").nav_file(2) end)
set("", "<leader>hs", function() require("harpoon.ui").nav_file(2) end)
end
return M