From f59fbc09d2739c9811bda3254b5921ec0bcaa3a8 Mon Sep 17 00:00:00 2001 From: Natercio Moniz Date: Tue, 28 Jan 2025 12:16:14 +0000 Subject: [PATCH] Added neoscroll for less disoreanting scroll --- lua/custom/plugins/neoscroll.lua | 46 ++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 lua/custom/plugins/neoscroll.lua diff --git a/lua/custom/plugins/neoscroll.lua b/lua/custom/plugins/neoscroll.lua new file mode 100644 index 0000000..9c4d147 --- /dev/null +++ b/lua/custom/plugins/neoscroll.lua @@ -0,0 +1,46 @@ +return { + 'karb94/neoscroll.nvim', + config = function() + local neoscroll = require 'neoscroll' + neoscroll.setup { + mappings = { + '', + '', + '', + '', + 'zt', + 'zz', + 'zb', + }, + easing = 'quadratic', + } + + local keymap = { + [''] = function() + neoscroll.ctrl_u { duration = 150 } + end, + [''] = function() + neoscroll.ctrl_d { duration = 150 } + end, + [''] = function() + neoscroll.ctrl_b { duration = 300 } + end, + [''] = function() + neoscroll.ctrl_f { duration = 300 } + end, + ['zt'] = function() + neoscroll.zt { half_win_duration = 150 } + end, + ['zz'] = function() + neoscroll.zz { half_win_duration = 150 } + end, + ['zb'] = function() + neoscroll.zb { half_win_duration = 150 } + end, + } + local modes = { 'n', 'v', 'x' } + for key, func in pairs(keymap) do + vim.keymap.set(modes, key, func) + end + end, +}