-- 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 = LazyVim.safe_keymap_set -- terminal map("t", "", "", { desc = "Escape termainl" }) map("n", "tt", ":term", { desc = "Open new terminal" }) -- buffers -- map("n", "", "bn") -- map("n", "", "bp") map("n", "x", "bd", { desc = "Close current buffer" }) -- map("n", "", "w") map("n", "la", "%bd|e#|bd#", { desc = "Close all other buffers" }) -- tabs map("n", "tc", ":tabclose", { desc = "Close current tab" }) map("n", "tn", ":tabnew", { desc = "New tab" }) -- search map("v", "ss", ":s/\\%V", { desc = "Search and replace in visual selection" }) -- copy -- map({ "n", "v" }, "y", '"+y', { desc = "Copy to system clipboard" }) -- lsp map("n", "gh", "lua vim.lsp.buf.hover()", { desc = "Hover" }) -- trouble map("n", "tx", "Trouble diagnostics toggle", { desc = "Diagnostics" }) map("n", "tX", "Trouble diagnostics toggle filter.buf=0", { desc = "Diagnostics" }) map("n", "tL", "Trouble loclist toggle", { desc = "Location List" }) map("n", "tQ", "Trouble qflist toggle", { desc = "Quickfix List" }) -- general map("n", "$", "g_") map("v", "$", "g_") map("v", ">", ">gv") map("v", "<", "", function() Snacks.picker.buffers({ finder = "buffers", format = "buffer", hidden = false, unloaded = true, current = true, sort_lastused = true, layout = { preview = "main", preset = "ivy", }, win = { input = { keys = { ["d"] = { "bufdelete", mode = { "n", "i" } }, }, }, list = { keys = { ["d"] = "bufdelete" } }, }, }) end, { desc = "Buffers" }) map("n", "ff", function() Snacks.picker.files({ finder = "files", format = "file", show_empty = true, hidden = false, ignored = false, follow = false, supports_live = true, layout = { preview = "main", preset = "ivy", }, }) end, { desc = "Find Files", }) map("n", "fw", function() Snacks.picker.grep({ layout = { preview = "main", preset = "ivy", }, }) end, { desc = "Grep" }) map("n", "fb", function() Snacks.picker.grep({ layout = { preview = "main", preset = "ivy", }, }) end, { desc = "Grep Open Buffers" }) map("n", "ct", function() Snacks.picker.pick({ source = "filetypes", layout = { preview = "main", preset = "ivy", }, }) end, { desc = "Change file type" }) -- crates map("n", "cu", function() require("crates").upgrade_all_crates() end, { desc = "Upgrade all crates" })