vim.g.mapleader = " " vim.keymap.set("n", "pv", vim.cmd.Ex) vim.keymap.set("n", "", ":Neotree right filesystem reveal toggle") vim.keymap.set("v", "J", ":m '>+1gv=gv") vim.keymap.set("v", "K", ":m '<-2gv=gv") vim.keymap.set("n", "J", "mzJ`z") vim.keymap.set("n", "", "zz") vim.keymap.set("n", "", "zz") vim.keymap.set("n", "", "zz") vim.keymap.set("n", "", "zz") vim.keymap.set("n", "n", "nzzzv") vim.keymap.set("n", "N", "Nzzzv") vim.keymap.set("n", "", "") vim.keymap.set("n", "", "") -- terminal remaps vim.keymap.set("t", "", "", { noremap = true, silent = true }) -- vim.keymap.set("n", ";", ":vsplit term://left", { noremap = true, silent = true }) vim.keymap.set("n", ";", function () vim.cmd("vsplit term://left") vim.cmd("wincmd l") end, { noremap = true, silent = true }) -- Terminal mode mappings (Alt + hjkl and Alt + Arrow Keys) vim.api.nvim_set_keymap('t', '', 'h', { noremap = true, silent = true }) vim.api.nvim_set_keymap('t', '', 'j', { noremap = true, silent = true }) vim.api.nvim_set_keymap('t', '', 'k', { noremap = true, silent = true }) vim.api.nvim_set_keymap('t', '', 'l', { noremap = true, silent = true }) vim.api.nvim_set_keymap('t', '', 'h', { noremap = true, silent = true }) vim.api.nvim_set_keymap('t', '', 'j', { noremap = true, silent = true }) vim.api.nvim_set_keymap('t', '', 'k', { noremap = true, silent = true }) vim.api.nvim_set_keymap('t', '', 'l', { noremap = true, silent = true }) -- Insert mode mappings (Alt + hjkl and Alt + Arrow Keys) vim.api.nvim_set_keymap('i', '', 'h', { noremap = true, silent = true }) vim.api.nvim_set_keymap('i', '', 'j', { noremap = true, silent = true }) vim.api.nvim_set_keymap('i', '', 'k', { noremap = true, silent = true }) vim.api.nvim_set_keymap('i', '', 'l', { noremap = true, silent = true }) vim.api.nvim_set_keymap('i', '', 'h', { noremap = true, silent = true }) vim.api.nvim_set_keymap('i', '', 'j', { noremap = true, silent = true }) vim.api.nvim_set_keymap('i', '', 'k', { noremap = true, silent = true }) vim.api.nvim_set_keymap('i', '', 'l', { noremap = true, silent = true }) -- Normal mode mappings (Alt + hjkl and Alt + Arrow Keys) vim.api.nvim_set_keymap('n', '', 'h', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '', 'j', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '', 'k', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '', 'l', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '', 'h', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '', 'j', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '', 'k', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '', 'l', { noremap = true, silent = true }) -- greatest remap ever vim.keymap.set("x", "p", [["_dP]]) -- next greatest remap ever : asbjornHaland vim.keymap.set({"n", "v"}, "y", [["+y]]) vim.keymap.set("n", "Y", [["+Y]]) vim.keymap.set({"n", "v"}, "d", [["_d]]) -- This is going to get me cancelled vim.keymap.set("i", "", "") vim.keymap.set("n", "Q", "") vim.keymap.set("n", "f", vim.lsp.buf.format) vim.keymap.set("n", "", "cnextzz") vim.keymap.set("n", "", "cprevzz") vim.keymap.set("n", "k", "lnextzz") vim.keymap.set("n", "j", "lprevzz") vim.keymap.set("n", "s", [[:%s/\<\>//gI]]) vim.keymap.set("n", "so", function() vim.cmd("so") end) -- Function to get config directory based on OS local function get_config_dir() if vim.fn.has('win32') == 1 then return vim.fn.stdpath('config') else return '~/.config/nvim' end end -- Create the mapping vim.keymap.set('n', 'cd', function() -- Get the config directory local config_dir = get_config_dir() -- Change to the config directory vim.cmd('cd ' .. config_dir) -- Open file explorer in the config directory vim.cmd('Ex ' .. config_dir) end, { desc = 'Jump to Neovim config directory' }) vim.keymap.set('n', 'z', function() require("zen-mode").toggle({ window = { width = .65, -- width will be 85% of the editor width options = {} }, plugins = { options = { enabled = true, ruler = true, -- disables the ruler text in the cmd line area showcmd = true, -- disables the command in the last line of the screen -- you may turn on/off statusline in zen mode by setting 'laststatus' -- statusline will be shown only if 'laststatus' == 3 laststatus = 3, } } }) end, { desc = 'Zen Mode' })