add neoscroll plugin with circ easing

This commit is contained in:
Natercio Moniz
2025-08-13 10:22:28 +01:00
parent 9bb11a28e4
commit a2d266132c

47
lua/plugins/neoscroll.lua Normal file
View File

@@ -0,0 +1,47 @@
return {
'karb94/neoscroll.nvim',
config = function()
local neoscroll = require 'neoscroll'
neoscroll.setup {
mappings = {
'<C-u>',
'<C-d>',
'<C-b>',
'<C-f>',
'zt',
'zz',
'zb',
},
easing = 'circ',
respect_scrolloff = true,
}
local keymap = {
['<C-u>'] = function()
neoscroll.ctrl_u { duration = 200 }
end,
['<C-d>'] = function()
neoscroll.ctrl_d { duration = 200 }
end,
['<C-b>'] = function()
neoscroll.ctrl_b { duration = 300 }
end,
['<C-f>'] = function()
neoscroll.ctrl_f { duration = 300 }
end,
['zt'] = function()
neoscroll.zt { half_win_duration = 100 }
end,
['zz'] = function()
neoscroll.zz { half_win_duration = 100 }
end,
['zb'] = function()
neoscroll.zb { half_win_duration = 100 }
end,
}
local modes = { 'n', 'v', 'x' }
for key, func in pairs(keymap) do
vim.keymap.set(modes, key, func)
end
end,
}