57 lines
1.6 KiB
Lua
57 lines
1.6 KiB
Lua
|
return {
|
||
|
-- disable flash
|
||
|
{ "folke/flash.nvim", enabled = false, optional = true },
|
||
|
|
||
|
-- easily jump to any location and enhanced f/t motions for Leap
|
||
|
{
|
||
|
"ggandor/flit.nvim",
|
||
|
enabled = true,
|
||
|
keys = function()
|
||
|
---@type LazyKeys[]
|
||
|
local ret = {}
|
||
|
for _, key in ipairs({ "f", "F", "t", "T" }) do
|
||
|
ret[#ret + 1] = { key, mode = { "n", "x", "o" }, desc = key }
|
||
|
end
|
||
|
return ret
|
||
|
end,
|
||
|
opts = { labeled_modes = "nx" },
|
||
|
},
|
||
|
{
|
||
|
"ggandor/leap.nvim",
|
||
|
enabled = true,
|
||
|
keys = {
|
||
|
{ "s", mode = { "n", "x", "o" }, desc = "Leap forward to" },
|
||
|
{ "S", mode = { "n", "x", "o" }, desc = "Leap backward to" },
|
||
|
{ "gs", mode = { "n", "x", "o" }, desc = "Leap from windows" },
|
||
|
},
|
||
|
config = function(_, opts)
|
||
|
local leap = require("leap")
|
||
|
for k, v in pairs(opts) do
|
||
|
leap.opts[k] = v
|
||
|
end
|
||
|
leap.add_default_mappings(true)
|
||
|
vim.keymap.del({ "x", "o" }, "x")
|
||
|
vim.keymap.del({ "x", "o" }, "X")
|
||
|
end,
|
||
|
},
|
||
|
|
||
|
-- rename surround mappings from gs to gz to prevent conflict with leap
|
||
|
{
|
||
|
"echasnovski/mini.surround",
|
||
|
opts = {
|
||
|
mappings = {
|
||
|
add = "gza", -- Add surrounding in Normal and Visual modes
|
||
|
delete = "gzd", -- Delete surrounding
|
||
|
find = "gzf", -- Find surrounding (to the right)
|
||
|
find_left = "gzF", -- Find surrounding (to the left)
|
||
|
highlight = "gzh", -- Highlight surrounding
|
||
|
replace = "gzr", -- Replace surrounding
|
||
|
update_n_lines = "gzn", -- Update `n_lines`
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
|
||
|
-- makes some plugins dot-repeatable like leap
|
||
|
{ "tpope/vim-repeat", event = "VeryLazy" },
|
||
|
}
|