-- Keymaps are automatically loaded on the VeryLazy event -- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua -- Add any additional keymaps here local map = vim.keymap.set -- Buffer management map("n", "bn", ":bnext", { noremap = true, silent = true, desc = "Next buffer" }) map("n", "bp", ":bprevious", { noremap = true, silent = true, desc = "Previous buffer" }) map("n", "bd", ":bdelete", { noremap = true, silent = true, desc = "Delete buffer" }) -- Paste from system clipboard map("n", "p", [["+p]], { noremap = true, silent = true, desc = "Paste from system clipboard" }) -- Markdown menu map("n", "M", [["+M]], { noremap = true, silent = true, desc = "Markdown" }) vim.keymap.set("n", "cc", function() local file1 = vim.fn.expand("%") local project_root = vim.fn.systemlist("git rev-parse --show-toplevel")[1] if project_root == "" then project_root = vim.fn.getcwd() end require("telescope.builtin").find_files({ prompt_title = "Compare with...", cwd = project_root, hidden = true, follow = true, attach_mappings = function(_, map) map("i", "", function(prompt_bufnr) local actions = require("telescope.actions") local action_state = require("telescope.actions.state") local file2 = action_state.get_selected_entry().path actions.close(prompt_bufnr) require("user.utils").meld_diff(file1, file2) end) return true end, }) end, { desc = "Compare with" })