-- Motion, Navigation and Multiple Cursors return { -- Multi-cursors support { "brenton-leighton/multiple-cursors.nvim", version = "*", opts = {}, keys = { { "", "MultipleCursorsAddDown", mode = { "n", "i", "x" } }, { "", "MultipleCursorsAddUp", mode = { "n", "i", "x" } }, { "", "MultipleCursorsMouseAddDelete", mode = { "n", "i" } }, { "a", "MultipleCursorsAddMatches", mode = { "n", "x" } }, { "", "MultipleCursorsAddJumpNextMatch", mode = { "n", "x" } }, }, }, -- Alternative multi-cursor plugin { "mg979/vim-visual-multi", event = "BufRead", }, -- Brackets splitjoin { "Wansmer/treesj", cmd = { "TSJToggle", "TSJSplit", "TSJJoin" }, opts = { use_default_keymaps = false, max_join_length = 150, }, keys = { { "gs", "TSJToggle", mode = { "n" }, desc = "Toggle splitjoin" }, }, }, -- Better move by word { "chrisgrieser/nvim-spider", opts = {}, keys = { { "w", "lua require('spider').motion('w')", mode = { "n", "o", "x" }, desc = "Spider-w" }, { "e", "lua require('spider').motion('e')", mode = { "n", "o", "x" }, desc = "Spider-e" }, { "b", "lua require('spider').motion('b')", mode = { "n", "o", "x" }, desc = "Spider-b" }, { "ge", "lua require('spider').motion('ge')", mode = { "n", "o", "x" }, desc = "Spider-ge" }, }, }, -- Better character motion { "folke/flash.nvim", event = "VeryLazy", opts = {}, keys = { { "gj", function() require("flash").jump() end, mode = { "n", "x", "o" }, desc = "Flash" }, { "gJ", function() require("flash").treesitter() end, mode = { "n", "x", "o" }, desc = "Flash Treesitter", }, { "r", function() require("flash").remote() end, mode = "o", desc = "Remote Flash" }, { "R", function() require("flash").treesitter_search() end, mode = { "x", "o" }, desc = "Treesitter Search", }, }, }, -- Move code block { "echasnovski/mini.move", event = "BufRead", config = function() require("mini.move").setup { mappings = { left = "", right = "", down = "", up = "", line_left = "", line_right = "", line_down = "", line_up = "", }, } end, }, -- Disabled motion plugins { "Wansmer/treesj", enabled = false }, }