local opts = { noremap = true, silent = true } function _LIVE_SERVER() local Terminal = require("toggleterm.terminal").Terminal local live_server = Terminal:new({ cmd = "live-server", hidden = true, direction = "tab", }) live_server:toggle() end local term_opts = { silent = true } -- Shorten function name local keymap = vim.api.nvim_set_keymap --Remap space as leader key keymap("", "", "", opts) vim.g.mapleader = " " vim.g.maplocalleader = " " -- Modes -- normal_mode = "n", -- insert_mode = "i", -- visual_mode = "v", -- visual_block_mode = "x", -- term_mode = "t", -- command_mode = "c", -- Normal -- -- Better window navigation keymap("n", "", "h", opts) keymap("n", "", "j", opts) keymap("n", "", "k", opts) keymap("n", "", "l", opts) keymap("n", "", "ggVG", opts) keymap("n", "", "y", opts) keymap("v", "", "y", opts) keymap("x", "", "y", opts) keymap("n", "", "p", opts) keymap("v", "", "p", opts) keymap("i", "", "p", opts) keymap("x", "", "p", opts) keymap("n", "", "u", opts) keymap("x", "", "undo", opts) keymap("v", "", "undo", opts) keymap("i", "", "undo", opts) keymap("n", "", "lua require('Comment.api').toggle.linewise(vim.fn.visualmode())", opts) keymap("v", "", "lua require('Comment.api').toggle.linewise(vim.fn.visualmode())", opts) keymap("i", "", "lua require('Comment.api').toggle.linewise(vim.fn.visualmode())", opts) keymap("i", "", "lua require('Comment.api').toggle.linewise.current()$i", opts) keymap("n", "", "lua require('Comment.api').toggle.linewise.current()$i", opts) keymap("n", "", "lua _LIVE_SERVER()", opts) keymap("i", "", "lua _LIVE_SERVER()", opts) -- Resize with arrows -- cona -- keymap("n", "", ":resize +2", opts) -- keymap("n", "", ":vertical resize -2", opts) -- keymap("n", "", ":vertical resize +2", opts) -- Navigate buffers keymap("n", "", ":bnext", opts) keymap("n", "", ":bnext", opts) keymap("n", "", ":bprevious", opts) keymap("n", "", ":bprevious", opts) -- Move text up and down keymap("n", "", ":m .+1==gi", opts) keymap("n", "", ":m .-2==gi", opts) -- Insert -- -- Press jk fast to exit insert mode keymap("i", "jk", "", opts) keymap("i", "kj", "", opts) -- Visual -- -- Stay in indent mode keymap("v", "<", "", ">gv", opts) -- Move text up and down keymap("v", "", ":m .+1==", opts) keymap("v", "", ":m .-2==", opts) keymap("v", "p", '"_dP', opts) -- Visual Block -- -- Move text up and down keymap("x", "J", ":move '>+1gv-gv", opts) keymap("x", "K", ":move '<-2gv-gv", opts) keymap("x", "", ":move '>+1gv-gv", opts) keymap("x", "", ":move '>+1gv-gv", opts) keymap("x", "", ":move '<-2gv-gv", opts) keymap("x", "", ":move '<-2gv-gv", opts) keymap("n", "", "t.", opts) keymap("i", "", "t.", opts) keymap("n", "", "t -1", opts) keymap("i", "", "t -1", opts) keymap("n", "", "t.", opts) keymap("n", "", "t -1", opts) keymap("n", "", "m+", opts) keymap("i", "", "m+", opts) keymap("n", "", "m-2", opts) keymap("i", "", "m-2", opts) keymap("n", "", "m+", opts) keymap("n", "", "m-2", opts) keymap("i", "", "w", opts) keymap("n", "", "w", opts) keymap("n", "q", "q", opts) keymap("x", "", ":'<,'>t'>", opts) keymap("i", "", "RunFile", opts) keymap("n", "", "RunFile", opts) -- Visual Block -- -- Move text up and down keymap("x", "J", ":move '>+1gv-gv", opts) keymap("x", "K", ":move '<-2gv-gv", opts) keymap("x", "", ":move '>+1gv-gv", opts) keymap("x", "", ":move '<-2gv-gv", opts) local map = function(mode, lhs, rhs, desc) if desc then desc = desc end vim.keymap.set(mode, lhs, rhs, { silent = true, desc = desc, buffer = bufnr, noremap = true }) end -- if pcall(require, "dap") then -- modified function keys found with `showkey -a` in the terminal to get key code -- run `nvim -V3log +quit` and search through the "Terminal info" in the `log` file for the correct keyname if vim.fn.has("win32") == 0 then map("n", "", function() require("dap").continue() end, "") map("n", "", function() require("dap").terminate() end, "") -- Shift+F5 map("n", "", function() require("dap").restart_frame() end, "") -- Control+F5 map("n", "", function() require("dap").pause() end, "") map("n", "", function() require("dap").toggle_breakpoint() end, "") map("n", "", function() require("dap").step_over() end, "") map("n", "", function() require("dap").step_into() end, "") map("n", "", function() require("dap").step_out() end, "") -- Shift+F11 end -- Terminal -- -- Better terminal navigation -- keymap("t", "", "h", term_opts) -- keymap("t", "", "j", term_opts) -- keymap("t", "", "k", term_opts) -- keymap("t", "", "l", term_opts)