local u = require "config.utils" -- colemak-dh local h = "n" local j = "e" local k = "i" local l = "o" local m = u.mapping -- terminal m.map("t", "", "") m.map("t", "", "") m.map("t", "", "h") m.map("t", "", "j") m.map("t", "", "k") m.map("t", "", "l") m.nmap("tm", m.fcmds({ "belowright 7sp", "term", "setlocal nonu", "setlocal scl=no", })) local prev_buf = "" m.nmap("i", function() if(vim.fn.bufname("terminal") == "") then prev_buf = vim.fn.getreg("#") vim.cmd("term") vim.cmd("setlocal nonu") vim.cmd("setlocal scl=no") vim.cmd("keepalt file terminal") vim.fn.feedkeys("A") else if(vim.fn.bufname() == "terminal") then vim.cmd("b #") if (string.len(prev_buf) ~= 0) then vim.fn.setreg("#", prev_buf) end else prev_buf = vim.fn.getreg("#") vim.cmd("b terminal") vim.fn.feedkeys("A") end end end) -- move window to new tab m.nmap("tt", "") -- off search highlight when escape is pressed m.nmap("", "noh") -- spell checking m.cmd("spl", "setlocal spell spelllang=en_us") m.cmd("spL", "setlocal nospell") -- lsp m.nmap("E", vim.diagnostic.open_float) m.nmap("[d", vim.diagnostic.goto_prev) m.nmap("]d", vim.diagnostic.goto_next) m.nmap("q", vim.diagnostic.setloclist) -- "alt tab" m.nmap("n", "") -- layout stuff local lo = u.layout lo.swap(h, "h") lo.swap(j, "j") lo.swap(k, "k") lo.swap(l, "l") lo.map(j, "gj") lo.map(k, "gk") lo.swap(h:upper(), "H") lo.swap(l:upper(), "L") -- moving between windows lo.map("", "h") lo.map("", "j") lo.map("", "k") lo.map("", "l") -- window resizing lo.cmd("", "res -1") lo.cmd("", "res +1") -- ascension (paste without replacing clipboard) m.map("x", "p", "\"_dhp") -- keep centered while moving around m.nmap("", "zz") m.nmap("", "zz")