From 29c657b395f53f4e03f89fcc3e2cd13262665d8a Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Fri, 2 Jun 2023 18:47:55 +0530 Subject: [PATCH] nvim: Use modules from mini.nvim We drop Comment, hop & vim-surround in favour of modules from mini. This change is triggered by the fact that hop's author has decided to not maintain it any more. There is also pounce but mini seems simple and we can also use other modules it provides. --- nvim/.config/nvim/after/plugin/comment.lua | 19 ------ nvim/.config/nvim/after/plugin/hop.lua | 23 -------- nvim/.config/nvim/after/plugin/mini.lua | 69 ++++++++++++++++++++++ nvim/.config/nvim/lua/plugins.lua | 4 +- 4 files changed, 70 insertions(+), 45 deletions(-) delete mode 100644 nvim/.config/nvim/after/plugin/comment.lua delete mode 100644 nvim/.config/nvim/after/plugin/hop.lua create mode 100644 nvim/.config/nvim/after/plugin/mini.lua diff --git a/nvim/.config/nvim/after/plugin/comment.lua b/nvim/.config/nvim/after/plugin/comment.lua deleted file mode 100644 index 2b118d9..0000000 --- a/nvim/.config/nvim/after/plugin/comment.lua +++ /dev/null @@ -1,19 +0,0 @@ -require('Comment').setup{ - padding = true, - ignore = nil, - mappings = { - basic = true, - extra = true, - extended = false, - }, - toggler = { - line = 'gcc', - block = 'gbc', - }, - opleader = { - line = 'gc', - block = 'gb', - }, - pre_hook = nil, - post_hook = nil, -} diff --git a/nvim/.config/nvim/after/plugin/hop.lua b/nvim/.config/nvim/after/plugin/hop.lua deleted file mode 100644 index e80fbca..0000000 --- a/nvim/.config/nvim/after/plugin/hop.lua +++ /dev/null @@ -1,23 +0,0 @@ -local remap = vim.keymap.set -local opts = { noremap=true, silent=true, unique=true } - -require'hop'.setup { keys = 'etovxqpdygfblzhckisuran' } - -remap('n', 'g/', ':HopPattern' , opts) -remap('n', 'gl', ':HopLineStart', opts) -remap('n', 'gL', ':HopLine' , opts) - -remap('n', 's' , "lua require'hop'.hint_char2()", opts) -remap('x', 's' , "lua require'hop'.hint_char2()", opts) -remap('o', 's' , "lua require'hop'.hint_char2()", opts) - -remap('n', ',s' , "lua require'hop'.hint_words()", opts) -remap('x', ',s' , "lua require'hop'.hint_words()", opts) -remap('o', ',s' , "lua require'hop'.hint_words()", opts) - -remap('n', 'f', "lua require'hop'.hint_char1({ direction = require'hop.hint'.HintDirection.AFTER_CURSOR, current_line_only = true})" , opts) -remap('n', 'F', "lua require'hop'.hint_char1({ direction = require'hop.hint'.HintDirection.BEFORE_CURSOR, current_line_only = true})", opts) -remap('x', 'f', "lua require'hop'.hint_char1({ direction = require'hop.hint'.HintDirection.AFTER_CURSOR, current_line_only = true})" , opts) -remap('x', 'F', "lua require'hop'.hint_char1({ direction = require'hop.hint'.HintDirection.BEFORE_CURSOR, current_line_only = true})", opts) -remap('o', 'f', "lua require'hop'.hint_char1({ direction = require'hop.hint'.HintDirection.AFTER_CURSOR, current_line_only = true})" , opts) -remap('o', 'F', "lua require'hop'.hint_char1({ direction = require'hop.hint'.HintDirection.BEFORE_CURSOR, current_line_only = true})", opts) diff --git a/nvim/.config/nvim/after/plugin/mini.lua b/nvim/.config/nvim/after/plugin/mini.lua new file mode 100644 index 0000000..7ce6ab6 --- /dev/null +++ b/nvim/.config/nvim/after/plugin/mini.lua @@ -0,0 +1,69 @@ +local remap = vim.keymap.set +local opts = { noremap=true, silent=true, unique=true } + +-- Align text/easy-align replacement +require('mini.align').setup({ + mappings = { + start = '', + start_with_preview = 'ga', + }, +}) +-- Comment lines +require('mini.comment').setup() +-- For f, F, t, t motions/Horizontal movement +require('mini.jump').setup({silent = true}) +-- Vertical jumps/movement +require('mini.jump2d').setup({ + allowed_lines = { + blank = true, + cursor_before = true, + cursor_at = true, + cursor_after = true, + fold = true, + }, + allowed_windows = { + current = true , + not_current = false, + }, + labels = 'arstgmneioqwfpbjluyzxcdvkh', + mappings = { start_jumping = '' }, + silent = true, + view = { + dim = true, + n_steps_ahead = 0, + }, +}) +-- Surround actions/vim-surround replacement +require('mini.surround').setup({}) +-- Highlight and remove white space +require('mini.trailspace').setup({}) + +-- Key mappings for all mini modules we use +remap({ 'n', 'o', 'x' }, 'gS', function() + return require('mini.jump2d').start({ + allowed_lines = { + blank = false, + cursor_before = true , + cursor_at = false, + cursor_after = false, + fold = false, + } + }) +end, opts) +remap({ 'n', 'o', 'x' }, 'gs', function() + return require('mini.jump2d').start({ + allowed_lines = { + blank = false, + cursor_before = false, + cursor_at = false, + cursor_after = true , + fold = false, + } + }) +end, opts) +remap({ 'n', 'o', 'x' }, 'gl', function() + local mini_jump2d = require('mini.jump2d') + local line_start = mini_jump2d.builtin_opts.line_start + + return mini_jump2d.start(line_start) +end, opts) diff --git a/nvim/.config/nvim/lua/plugins.lua b/nvim/.config/nvim/lua/plugins.lua index 45df559..a325ddc 100644 --- a/nvim/.config/nvim/lua/plugins.lua +++ b/nvim/.config/nvim/lua/plugins.lua @@ -2,7 +2,7 @@ vim.cmd 'packadd cfilter' require "paq" { - 'phaazon/hop.nvim' , + 'echasnovski/mini.nvim' , 'ibhagwan/fzf-lua' , 'dcampos/nvim-snippy' , 'honza/vim-snippets' , @@ -12,9 +12,7 @@ require "paq" { 'vim-utils/vim-husk' , 'https://gitlab.com/yorickpeterse/nvim-pqf', 'wellle/targets.vim' , - 'tpope/vim-surround' , 'chrisgrieser/nvim-various-textobjs' , - 'numToStr/Comment.nvim' , 'tpope/vim-repeat' , 'tpope/vim-sleuth' , 'tpope/vim-dispatch' ,