30 lines
1.3 KiB
Lua
30 lines
1.3 KiB
Lua
|
|
-- Function to toggle venn keymaps
|
|
function _G.Toggle_venn()
|
|
local venn_enabled = vim.inspect(vim.b.venn_enabled)
|
|
if venn_enabled == "nil" then
|
|
vim.b.venn_enabled = true
|
|
vim.cmd([[setlocal ve=all]])
|
|
-- Draw a line on HJKL keystrokes
|
|
vim.api.nvim_buf_set_keymap(0, "n", "J", "<C-v>j:VBox<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_buf_set_keymap(0, "n", "K", "<C-v>k:VBox<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_buf_set_keymap(0, "n", "L", "<C-v>l:VBox<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_buf_set_keymap(0, "n", "H", "<C-v>h:VBox<CR>", { noremap = true, silent = true })
|
|
-- Draw a box with visual selection
|
|
vim.api.nvim_buf_set_keymap(0, "v", "f", ":VBox<CR>", { noremap = true, silent = true })
|
|
else
|
|
vim.cmd([[setlocal ve=]])
|
|
vim.api.nvim_buf_del_keymap(0, "n", "J")
|
|
vim.api.nvim_buf_del_keymap(0, "n", "K")
|
|
vim.api.nvim_buf_del_keymap(0, "n", "L")
|
|
vim.api.nvim_buf_del_keymap(0, "n", "H")
|
|
vim.api.nvim_buf_del_keymap(0, "v", "f")
|
|
vim.b.venn_enabled = nil
|
|
end
|
|
end
|
|
|
|
-- Toggle venn with <leader>v globally
|
|
vim.api.nvim_set_keymap("n", "<leader>v", ":lua Toggle_venn()<CR>", { noremap = true, silent = true })
|
|
|
|
|