require "nvchad.mappings" -- add yours here local map = vim.keymap.set map("n", ";", ":", { desc = "CMD enter command mode" }) map("i", "jk", "") -- map({ "n", "i", "v" }, "", " w ") -- open tasks / priority tasks vault-wide (telescope_tasks.lua) map('n', 'tl', function() require('telescope_tasks').open_tasks() end, { desc = "telescope: open tasks" }) map('n', 'tL', function() require('telescope_tasks').priority_tasks() end, { desc = "telescope: priority tasks" }) -- Add a keybinding for calling ObsidianTag vim.api.nvim_set_keymap('n', 'tt', ':ObsidianTag', { noremap = true, silent = true }) -- Add a keybinding for calling ObsidianBacklinks vim.api.nvim_set_keymap('n', 'lb', ':ObsidianBacklinks', { noremap = true, silent = true }) -- Add a keybinding for calling ObsidianLink vim.api.nvim_set_keymap('v', 'fl', ':ObsidianLink', { noremap = true, silent = true }) -- priority task vim.api.nvim_set_keymap("n", "p1", "A 🔼", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "p2", "A ⏫", { noremap = true, silent = true }) -- Live grep all files (including gitignored and hidden files) vim.keymap.set("n", "fW", function() require('telescope.builtin').live_grep({ additional_args = function() return { "--hidden", "--no-ignore" } end }) end, { desc = "telescope live grep all files" }) -- make leader-e toggle the tree view as opposed to just setting focus vim.api.nvim_set_keymap('n', 'e', ':NvimTreeToggle', {noremap = true, silent = true}) -- move the whole page without moving the cursor vim.api.nvim_set_keymap('n', 'J', '', { noremap = true }) vim.keymap.set('n', 'j', 'J', { remap = false, desc = "Join lines" }) vim.api.nvim_set_keymap('n', 'K', '', { noremap = true }) -- Resize windows vim.api.nvim_set_keymap('n', '', '5+', { silent = true }) vim.api.nvim_set_keymap('n', '', '5-', { silent = true }) vim.api.nvim_set_keymap('n', '', '10>', { silent = true }) vim.api.nvim_set_keymap('n', '', '10<', { silent = true }) -- wrap selected text in single quotes vim.keymap.set('x', "'", function() local text = vim.fn.getreg('"') -- Get the visually selected text vim.cmd("normal! c'" .. text .. "'") end, { desc = "Wrap selected text in single quotes" }) -- wrap selected text in double quotes vim.keymap.set('x', '"', function() local text = vim.fn.getreg('"') -- Get the visually selected text vim.cmd('normal! c"' .. text .. '"') end, { desc = "Wrap selected text in double quotes" }) -- Gitsigns blame current line vim.keymap.set("n", "gb", ":Gitsigns blame_line", { noremap = true, silent = true, desc = "Git blame line" }) -- Format current buffer (uses conform; for markdown this snaps tables via mdformat-gfm) vim.keymap.set({ "n", "v" }, "fm", function() require("conform").format({ async = true, lsp_fallback = true }) end, { desc = "Format buffer / selection" }) -- Disable alt+h and alt+v terminal toggles vim.keymap.del({ "n", "t" }, "") vim.keymap.del({ "n", "t" }, "") -- Vault-wide find-and-replace with confirmation popup vim.keymap.set("n", "rn", function() require("rename_term").run() end, { desc = "Rename term across vault (find → replace)" }) -- td: time-track markdown todos — all in ~/setup_env/dotfiles/nvim/{td,td_mappings}.lua require("td_mappings")