nvchad/lua/mappings.lua

98 lines
3.6 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 })
-- Configure Telescope to scroll files with ctrl+j/k
local actions = require('telescope.actions')
-- local sorters = require('telescope.sorters')
require('telescope').setup {
defaults = {
mappings = {
i = {
["<C-j>"] = actions.move_selection_next,
["<C-k>"] = actions.move_selection_previous,
},
},
},
}
-- 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 })
-- Set the tab width to 4 spaces
vim.cmd('set tabstop=4')
vim.cmd('set shiftwidth=4')
vim.cmd('set expandtab')
vim.o.hidden = 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" })
-- Format just the visual selection
-- vim.keymap.set("v", "<leader>cf", function()
-- require("conform").format({
-- async = true,
-- lsp_fallback = false,
-- range = { start = vim.fn.line("v"), ["end"] = vim.fn.line(".") },
-- })
-- end, { desc = "Conform format selection" })
-- vim.keymap.set("", "<leader>cf", function()
-- require("conform").format({ async = true }, function(err)
-- if not err then
-- local mode = vim.api.nvim_get_mode().mode
-- if vim.startswith(string.lower(mode), "v") then
-- vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("<Esc>", true, false, true), "n", true)
-- end
-- end
-- end)
-- end, { desc = "Format code" })
-- vim.lsp.enable('postgres_lsp')
-- -- Gitsigns blame current line
vim.keymap.set("n", "<leader>gb", ":Gitsigns blame_line<CR>", { noremap = true, silent = true, desc = "Git blame line" })