nvchad/lua/mappings.lua
Paul Trowbridge 9b578f964b refactor config to follow nvchad conventions
- Create separate config files for telescope and nvim-tree in lua/configs/
- Fix plugin syntax (requires -> dependencies for lazy.nvim)
- Consolidate duplicate settings into appropriate files
- Move plugin configs out of options.lua and mappings.lua
- Clean up init.lua to only contain SQL autocmds

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-17 23:54:05 -05:00

60 lines
2.5 KiB
Lua

require "nvchad.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>")
-- local custom_telescope = require('custom_telescope')
-- Add a keybinding for searching Markdown tasks
vim.api.nvim_set_keymap('n', '<leader>mt', ':lua require("custom_telescope").search_markdown_tasks()<CR>', { noremap = true, silent = true })
-- 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" })