-- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Settings Variable │ -- ╰──────────────────────────────────────────────────────────────────────╯ local functions = require("config.function") local Util = require("lazy.core.util") -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Check Plugin │ -- ╰──────────────────────────────────────────────────────────────────────╯ function Has(plugin) return require("lazy.core.config").plugins[plugin] ~= nil end -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Mapping function │ -- ╰──────────────────────────────────────────────────────────────────────╯ local function map(mode, lhs, rhs, opts) local keys = require("lazy.core.handler").handlers.keys -- do not create the keymap if a lazy keys handler exists if not keys.active[keys.parse({ lhs, mode = mode }).id] then opts = opts or {} opts.silent = opts.silent ~= true vim.keymap.set(mode, lhs, rhs, opts) end end -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Toggle Options Function │ -- ╰──────────────────────────────────────────────────────────────────────╯ function Toggle(option, silent, values) if values then if vim.opt_local[option]:get() == values[1] then vim.opt_local[option] = values[2] else vim.opt_local[option] = values[1] end return Util.info("Set " .. option .. " to " .. vim.opt_local[option]:get(), { title = "Option" }) end vim.opt_local[option] = not vim.opt_local[option]:get() if not silent then if vim.opt_local[option]:get() then Util.info("Enabled " .. option, { title = "Option" }) else Util.warn("Disabled " .. option, { title = "Option" }) end end end -- ══════════════════════════════════════════════════════════════════════════ -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Toggle Alpha │ -- ╰──────────────────────────────────────────────────────────────────────╯ if Has("alpha-nvim") then map({ "n", "i", "v" }, "s", "Alpha", { desc = "Alpha" }) end -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Toggle Lazy │ -- ╰──────────────────────────────────────────────────────────────────────╯ if Has("lazy.nvim") then map("n", "tl", ":Lazy", { desc = "Lazy" }) end -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Toggle Options │ -- ╰──────────────────────────────────────────────────────────────────────╯ map("n", "ts", function() Toggle("spell") end, { desc = "Toggle Spelling" }) map("n", "tw", function() Toggle("wrap") end, { desc = "Toggle Word Wrap" }) -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Toggle System Tools │ -- ╰──────────────────────────────────────────────────────────────────────╯ map("n", "", functions.toggle_number, { desc = "Toggle Number" }) map("n", "", functions.toggle_column, { desc = "Toggle Column" }) map("n", "", functions.toggle_syntax, { desc = "Toggle Syntax" }) map("n", "", functions.toggle_quickfix, { desc = "Toggle QuickFix" }) map("n", "", functions.toggle_colorcolumn, { desc = "Toggle Colorcolumn" }) map("n", "", functions.toggle_diagnostics, { desc = "Toggle Diagnostics" }) map("n", "", "ColorizerToggle", { desc = "Toggle Colorizer" }) -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Disable Keymaps │ -- ╰──────────────────────────────────────────────────────────────────────╯ map({ "n", "v" }, "q", "") map({ "n", "v" }, "Q", "") -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Display Center Sceener │ -- ╰──────────────────────────────────────────────────────────────────────╯ map("n", "(", "(zz", { desc = "Sentences Prev" }) map("n", ")", ")zz", { desc = "Sentences Next" }) map("n", "{", "{zz", { desc = "Paragraph Prev" }) map("n", "}", "}zz", { desc = "Paragraph Next" }) map("n", "[[", "[[zz", { noremap = true, desc = "Sections Prev" }) map("n", "]]", "]]zz", { noremap = true, desc = "Sections Next" }) map("n", "n", "nzz", { desc = "Search Next" }) map("n", "N", "Nzz", { desc = "Search Prev" }) map("n", "g;", "g;zz", { desc = "Changelist Prev" }) map("n", "g,", "g,zz", { desc = "Changelist Next" }) map("n", "", "zz", { desc = "Scroll Half Down" }) map("n", "", "zz", { desc = "Scroll Half Up" }) map("n", "", "zz", { desc = "Scroll Full Down" }) map("n", "", "zz", { desc = "Scroll Full Up" }) -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Mapping For Paste │ -- ╰──────────────────────────────────────────────────────────────────────╯ map("x", "p", '"_dP', { silent = true, desc = "Paste Dont Copy Replaced Text" }) -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Move Selected Line │ -- ╰──────────────────────────────────────────────────────────────────────╯ map("x", "J", ":move '>+1gv-gv", { silent = true }) map("x", "K", ":move '<-2gv-gv", { silent = true }) map("n", "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) map("n", "k", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Delete Buffer │ -- ╰──────────────────────────────────────────────────────────────────────╯ map({ "n", "i", "v" }, "q", "BufDel", { silent = true, desc = "Delete Buffer" }) -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Save File │ -- ╰──────────────────────────────────────────────────────────────────────╯ map({ "i", "v", "n", "s" }, "w", "w", { desc = "Save file" }) -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Clear Search │ -- ╰──────────────────────────────────────────────────────────────────────╯ map("n", "", "nohlsearch", { desc = "Clear hlsearch" }) -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Clear Search, Diff Update And Redraw │ -- ╰──────────────────────────────────────────────────────────────────────╯ map("n", "", "nohlsearchdiffupdatenormal! ", { desc = "Redraw" }) -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Move To Window │ -- ╰──────────────────────────────────────────────────────────────────────╯ map({ "n", "i", "v" }, "", "h", { desc = "Go to left window" }) map({ "n", "i", "v" }, "", "j", { desc = "Go to lower window" }) map({ "n", "i", "v" }, "", "k", { desc = "Go to upper window" }) map({ "n", "i", "v" }, "", "l", { desc = "Go to right window" }) map({ "i", "t" }, "", "h") map({ "i", "t" }, "", "j") map({ "i", "t" }, "", "k") map({ "i", "t" }, "", "l") map({ "i", "t" }, "", "") -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Resize Window │ -- ╰──────────────────────────────────────────────────────────────────────╯ map("n", "", "resize +2", { desc = "Increase Height" }) map("n", "", "resize -2", { desc = "Decrease Height" }) map("n", "", "vertical resize -2", { desc = "Decrease Width" }) map("n", "", "vertical resize +2", { desc = "Increase Width" }) -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Buffers Changes │ -- ╰──────────────────────────────────────────────────────────────────────╯ if Has("bufferline.nvim") then map("n", "", "BufferLineCyclePrev", { desc = "Prev Buffer" }) map("n", "", "BufferLineCycleNext", { desc = "Next Buffer" }) map("n", "H", "BufferLineCyclePrev", { desc = "Prev Buffer" }) map("n", "L", "BufferLineCycleNext", { desc = "Next Buffer" }) map("n", "1", "BufferLineGoToBuffer 1", { desc = "Buffer To 1" }) map("n", "2", "BufferLineGoToBuffer 2", { desc = "Buffer To 2" }) map("n", "3", "BufferLineGoToBuffer 3", { desc = "Buffer To 3" }) map("n", "4", "BufferLineGoToBuffer 4", { desc = "Buffer To 4" }) map("n", "5", "BufferLineGoToBuffer 5", { desc = "Buffer To 5" }) map("n", "6", "BufferLineGoToBuffer 6", { desc = "Buffer To 6" }) map("n", "7", "BufferLineGoToBuffer 7", { desc = "Buffer To 7" }) map("n", "8", "BufferLineGoToBuffer 8", { desc = "Buffer To 8" }) map("n", "9", "BufferLineGoToBuffer 9", { desc = "Buffer To 9" }) else map("n", "", "bprevious", { desc = "Prev Buffer" }) map("n", "", "bnext", { desc = "Next Buffer" }) map("n", "H", "bprevious", { desc = "Prev Buffer" }) map("n", "L", "bnext", { desc = "Next Buffer" }) end -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Enhanced semicolon │ -- ╰──────────────────────────────────────────────────────────────────────╯ map("n", ";;", ";", { desc = "Next Word" }) -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Better Indenting │ -- ╰──────────────────────────────────────────────────────────────────────╯ map("x", "<", "", ">gv") -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ New File │ -- ╰──────────────────────────────────────────────────────────────────────╯ -- quit map("n", "Q", "qa", { desc = "Quit All" }) -- Terminal Normal Mode map("t", "", "", { desc = "Normal Mode" }) -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Commant - Box │ -- ╰──────────────────────────────────────────────────────────────────────╯ if Has("comment-box.nvim") then map({ "n", "v" }, "gco", "CBccbox") map({ "n", "v" }, "gcO", "CBccbox21") map({ "n", "v" }, "gcl", "CBline5") map({ "n", "v" }, "gcL", "CBline6") end -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ ToggleTerm │ -- ╰──────────────────────────────────────────────────────────────────────╯ map("t", "c", "ToggleTerm", { desc = "Toggle Terminal" }) -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Telescope - Projects │ -- ╰──────────────────────────────────────────────────────────────────────╯ if Has("telescope.nvim") then map( "n", "fp", "lua require('telescope').extensions.projects.projects(require('telescope.themes').get_dropdown({hidden=true}))", { desc = "Projects" } ) -- map( -- "i", -- "[[", -- "Telescope vimwiki previewer=true initial_mode=insert link", -- -- "[[lua require('telescope.builtin').live_grep({initial_mode = 'insert', previewer = true })", -- { desc = "Live grep vimwiki file" } -- ) -- -- map( -- "n", -- "((", -- "Telescope live_grep previewer=true initial_mode=insert", -- { desc = "Live grep vimwiki files" } -- ) end -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ QuickFix Settings │ -- ╰──────────────────────────────────────────────────────────────────────╯ map("n", "qj", ":cnext", { silent = true }) map("n", "qk", ":cprev", { silent = true }) -- ╭──────────────────────────────────────────────────────────────────────╮ -- │ Fold Toggles │ -- ╰──────────────────────────────────────────────────────────────────────╯ vim.cmd([[ vnoremap zf nnoremap @=(foldlevel('.')?'za' : "\") ]])