-- Collection of various small independent plugins/modules return { 'echasnovski/mini.nvim', config = function() -- Better Around/Inside textobjects -- -- Examples: -- - va) - [V]isually select [A]round [)]paren -- - yinq - [Y]ank [I]nside [N]ext [Q]uote -- - ci' - [C]hange [I]nside [']quote require('mini.ai').setup { n_lines = 500 } -- Add/delete/replace surroundings (brackets, quotes, etc.) -- -- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren -- - sd' - [S]urround [D]elete [']quotes -- - sr)' - [S]urround [R]eplace [)] ['] require('mini.surround').setup { mappings = { add = 'ys', delete = 'ds', replace = 'cs', }, } require('mini.pairs').setup() require('mini.jump').setup { mappings = { repeat_jump = ':', }, } local MiniJump2d = require 'mini.jump2d' MiniJump2d.setup { spotter = MiniJump2d.gen_spotter.union( MiniJump2d.gen_spotter.pattern('[([{][^$]', 'end'), MiniJump2d.gen_spotter.pattern('%$.', 'end'), MiniJump2d.gen_spotter.pattern('->.', 'end'), MiniJump2d.gen_spotter.pattern('^%s*%S', 'end') ), mappings = { start_jumping = 'S', }, allowed_lines = { blank = false, cursor_at = false, fold = false, }, } require('mini.splitjoin').setup() require('mini.map').setup() -- Simple and easy statusline. -- You could remove this setup call i you don't like it, -- and try some other statusline plugin local statusline = require 'mini.statusline' -- set use_icons to true if you have a Nerd Font statusline.setup { use_icons = vim.g.have_nerd_font } -- You can configure sections in the statusline by overriding their -- default behavior. For example, here we set the section for -- cursor location to LINE:COLUMN ---@diagnostic disable-next-line: duplicate-set-field statusline.section_location = function() return '%2l:%-2v' end -- ... and there is more! -- Check out: https://github.com/echasnovski/mini.nvim end, }