1
Fork 0
satellite/home/features/neovim/config/lua/my/helpers/wrapMovement.lua
2023-12-02 00:59:18 +01:00

40 lines
600 B
Lua

local M = {}
local function swap(key)
vim.keymap.set({ "n", "v" }, key, "g" .. key, { buffer = true })
vim.keymap.set({ "n", "v" }, "g" .. key, key, { buffer = true })
end
local function unswap(key)
vim.keymap.del({ "n", "v" }, key)
vim.keymap.del({ "n", "v" }, "g" .. key)
end
function M.enable()
vim.opt.wrap = true
swap("j")
swap("k")
swap("0")
swap("$")
end
function M.disable()
vim.opt.wrap = false
unswap("j")
unswap("k")
unswap("0")
unswap("$")
end
function M.toggle()
if vim.opt.wrap == true then
M.disable()
else
M.enable()
end
end
return M