local opts = { noremap = true, silent = true } local set = function(mode, key, vimcmd) vim.keymap.set(mode, key, vimcmd, opts) end if pcall(require, "neo-tree.command") then set("n", "t", function() require("neo-tree.command").execute({ toggle = true, dir = vim.loop.cwd(), }) end) end if pcall(require, "flash") then set({ "n", "o", "x" }, "s", function() require("flash").jump() end) end for i = 1, 9 do set("n", "" .. i, function() vim.cmd("BufferLineGoToBuffer " .. i) end) end set("n", "q", function() vim.cmd("BufferLinePickClose") end) local diagnostic = vim.diagnostic set("n", "e", diagnostic.open_float) set("n", "[d", diagnostic.goto_prev) set("n", "]d", diagnostic.goto_next) set("n", "u", diagnostic.setloclist) set("n", "ca", vim.lsp.buf.code_action) set("n", "f", function() vim.cmd("Telescope") end) set("n", "p", function() vim.cmd("TroubleToggle") end) set("n", "z", function() vim.cmd("FormatToggle") end)