78 lines
3.3 KiB
Lua
78 lines
3.3 KiB
Lua
require "nvchad.mappings"
|
|
require "td_mappings"
|
|
|
|
-- add yours here
|
|
|
|
local map = vim.keymap.set
|
|
|
|
map("n", ";", ":", { desc = "CMD enter command mode" })
|
|
map("i", "jk", "<ESC>")
|
|
|
|
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")
|
|
|
|
-- open tasks / priority tasks vault-wide (telescope_tasks.lua)
|
|
map('n', '<leader>tl', function() require('telescope_tasks').open_tasks() end, { desc = "telescope: open tasks" })
|
|
map('n', '<leader>tL', function() require('telescope_tasks').priority_tasks() end, { desc = "telescope: priority tasks" })
|
|
-- Add a keybinding for calling ObsidianTag
|
|
vim.api.nvim_set_keymap('n', '<leader>tt', ':ObsidianTag<CR>', { noremap = true, silent = true })
|
|
-- Add a keybinding for calling ObsidianBacklinks
|
|
vim.api.nvim_set_keymap('n', '<leader>lb', ':ObsidianBacklinks<CR>', { noremap = true, silent = true })
|
|
-- Add a keybinding for calling ObsidianLink
|
|
vim.api.nvim_set_keymap('v', '<leader>fl', ':ObsidianLink<CR>', { noremap = true, silent = true })
|
|
-- priority task
|
|
vim.api.nvim_set_keymap("n", "<leader>p1", "A 🔼<Esc>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>p2", "A ⏫<Esc>", { noremap = true, silent = true })
|
|
|
|
-- Live grep all files (including gitignored and hidden files)
|
|
vim.keymap.set("n", "<leader>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', '<leader>e', ':NvimTreeToggle<CR>', {noremap = true, silent = true})
|
|
|
|
-- move the whole page without moving the cursor
|
|
vim.api.nvim_set_keymap('n', 'J', '<C-e>', { noremap = true })
|
|
vim.keymap.set('n', '<leader>j', 'J', { remap = false, desc = "Join lines" })
|
|
vim.api.nvim_set_keymap('n', 'K', '<C-y>', { noremap = true })
|
|
|
|
-- Resize windows
|
|
vim.api.nvim_set_keymap('n', '<Up>', '5<C-w>+', { silent = true })
|
|
vim.api.nvim_set_keymap('n', '<Down>', '5<C-w>-', { silent = true })
|
|
vim.api.nvim_set_keymap('n', '<Right>', '10<C-w>>', { silent = true })
|
|
vim.api.nvim_set_keymap('n', '<Left>', '10<C-w><', { silent = true })
|
|
|
|
-- wrap selected text in single quotes
|
|
vim.keymap.set('x', "<leader>'", 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', '<leader>"', 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", "<leader>gb", ":Gitsigns blame_line<CR>", { 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" }, "<leader>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" }, "<A-h>")
|
|
vim.keymap.del({ "n", "t" }, "<A-v>")
|
|
|
|
|
|
-- Vault-wide find-and-replace with confirmation popup
|
|
vim.keymap.set("n", "<leader>rn", function()
|
|
require("rename_term").run()
|
|
end, { desc = "Rename term across vault (find → replace)" })
|