From bca80aac6168baab69562b25e9e72ecefd9c16ea Mon Sep 17 00:00:00 2001 From: shadow cat Date: Mon, 9 Sep 2024 10:58:25 -0400 Subject: [PATCH] TERMINAL GAMING --- lua/config/mappings.lua | 49 ++++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/lua/config/mappings.lua b/lua/config/mappings.lua index 9cd63cb..aa966b9 100644 --- a/lua/config/mappings.lua +++ b/lua/config/mappings.lua @@ -11,21 +11,35 @@ 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.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" + "setlocal scl=no", })) -m.nmap("tn", m.fcmds({ - "term", - "setlocal nonu", - "setlocal scl=no" -}).."A") +local prev_buf = "" +m.nmap("tn", 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 #") + vim.fn.setreg("#", prev_buf) + else + prev_buf = vim.fn.getreg("#") + vim.cmd("b terminal") + end + end +end) -- move window to new tab m.nmap("tt", "") @@ -52,26 +66,25 @@ 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.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") +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") +m.map("x", "p", "\"_dhp") -- keep centered while moving around m.nmap("", "zz") m.nmap("", "zz") -