fix: neoscroll mappings
This commit is contained in:
parent
03dbb48603
commit
fb52609b7a
3 changed files with 57 additions and 52 deletions
|
@ -1,7 +1,9 @@
|
|||
local neoscroll = require("neoscroll")
|
||||
|
||||
-- Keep cursor away from the edges
|
||||
vim.opt.scrolloff = 8
|
||||
|
||||
require("neoscroll").setup({
|
||||
neoscroll.setup({
|
||||
-- All these keys will be mapped to their corresponding default scrolling animation
|
||||
mappings = { '<C-u>', '<C-d>', '<C-b>', '<C-f>',
|
||||
'<C-y>', '<C-e>', 'zt', 'zz', 'zb' },
|
||||
|
@ -16,20 +18,19 @@ require("neoscroll").setup({
|
|||
easing_function = "quadratic", -- Default easing function
|
||||
})
|
||||
|
||||
local t = {}
|
||||
-- Syntax: t[keys] = {function, {function arguments}}
|
||||
-- Use the "sine" easing function
|
||||
t['<C-u>'] = { 'scroll', { '-vim.wo.scroll', 'true', '350', [['sine']] } }
|
||||
t['<C-d>'] = { 'scroll', { 'vim.wo.scroll', 'true', '350', [['sine']] } }
|
||||
-- Use the "circular" easing function
|
||||
t['<C-b>'] = { 'scroll', { '-vim.api.nvim_win_get_height(0)', 'true', '500', [['circular']] } }
|
||||
t['<C-f>'] = { 'scroll', { 'vim.api.nvim_win_get_height(0)', 'true', '500', [['circular']] } }
|
||||
-- Pass "nil" to disable the easing animation (constant scrolling speed)
|
||||
t['<C-y>'] = { 'scroll', { '-0.10', 'false', '100', nil } }
|
||||
t['<C-e>'] = { 'scroll', { '0.10', 'false', '100', nil } }
|
||||
-- When no easing function is provided the default easing function (in this case "quadratic") will be used
|
||||
t['zt'] = { 'zt', { '300' } }
|
||||
t['zz'] = { 'zz', { '300' } }
|
||||
t['zb'] = { 'zb', { '300' } }
|
||||
local keymap = {
|
||||
["<C-u>"] = function() neoscroll.ctrl_u({ duration = 250 }) end,
|
||||
["<C-d>"] = function() neoscroll.ctrl_d({ duration = 250 }) end,
|
||||
["<C-b>"] = function() neoscroll.ctrl_b({ duration = 450 }) end,
|
||||
["<C-f>"] = function() neoscroll.ctrl_f({ duration = 450 }) end,
|
||||
["<C-y>"] = function() neoscroll.scroll(-0.1, { move_cursor = false, duration = 100 }) end,
|
||||
["<C-e>"] = function() neoscroll.scroll(0.1, { move_cursor = false, duration = 100 }) end,
|
||||
["zt"] = function() neoscroll.zt({ half_win_duration = 250 }) end,
|
||||
["zz"] = function() neoscroll.zz({ half_win_duration = 250 }) end,
|
||||
["zb"] = function() neoscroll.zb({ half_win_duration = 250 }) end,
|
||||
}
|
||||
|
||||
require('neoscroll.config').set_mappings(t)
|
||||
local modes = { 'n', 'v', 'x' }
|
||||
for key, func in pairs(keymap) do
|
||||
vim.keymap.set(modes, key, func)
|
||||
end
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
local neoscroll = require("neoscroll")
|
||||
|
||||
-- Keep cursor away from the edges
|
||||
vim.opt.scrolloff = 8
|
||||
|
||||
require("neoscroll").setup({
|
||||
neoscroll.setup({
|
||||
-- All these keys will be mapped to their corresponding default scrolling animation
|
||||
mappings = { '<C-u>', '<C-d>', '<C-b>', '<C-f>',
|
||||
'<C-y>', '<C-e>', 'zt', 'zz', 'zb' },
|
||||
hide_cursor = true, -- Hide cursor while scrolling
|
||||
stop_eof = true, -- Stop at <EOF> when scrolling downwards
|
||||
respect_scrolloff = false, -- Stop scrolling when the cursor reaches the scrolloff margin of the file
|
||||
respect_scrolloff = false, -- Stop scrolling when the cursor reaches the scrolloff margin of the file
|
||||
cursor_scrolls_alone = true, -- The cursor will keep on scrolling even if the window cannot scroll further
|
||||
easing_function = nil, -- Default easing function
|
||||
pre_hook = nil, -- Function to run before the scrolling animation starts
|
||||
|
@ -16,20 +18,20 @@ require("neoscroll").setup({
|
|||
easing_function = "quadratic", -- Default easing function
|
||||
})
|
||||
|
||||
local t = {}
|
||||
-- Syntax: t[keys] = {function, {function arguments}}
|
||||
-- Use the "sine" easing function
|
||||
t['<C-u>'] = { 'scroll', { '-vim.wo.scroll', 'true', '350', [['sine']] } }
|
||||
t['<C-d>'] = { 'scroll', { 'vim.wo.scroll', 'true', '350', [['sine']] } }
|
||||
-- Use the "circular" easing function
|
||||
t['<C-b>'] = { 'scroll', { '-vim.api.nvim_win_get_height(0)', 'true', '500', [['circular']] } }
|
||||
t['<C-f>'] = { 'scroll', { 'vim.api.nvim_win_get_height(0)', 'true', '500', [['circular']] } }
|
||||
-- Pass "nil" to disable the easing animation (constant scrolling speed)
|
||||
t['<C-y>'] = { 'scroll', { '-0.10', 'false', '100', nil } }
|
||||
t['<C-e>'] = { 'scroll', { '0.10', 'false', '100', nil } }
|
||||
-- When no easing function is provided the default easing function (in this case "quadratic") will be used
|
||||
t['zt'] = { 'zt', { '300' } }
|
||||
t['zz'] = { 'zz', { '300' } }
|
||||
t['zb'] = { 'zb', { '300' } }
|
||||
local keymap = {
|
||||
["<C-u>"] = function() neoscroll.ctrl_u({ duration = 250 }) end,
|
||||
["<C-d>"] = function() neoscroll.ctrl_d({ duration = 250 }) end,
|
||||
["<C-b>"] = function() neoscroll.ctrl_b({ duration = 450 }) end,
|
||||
["<C-f>"] = function() neoscroll.ctrl_f({ duration = 450 }) end,
|
||||
["<C-y>"] = function() neoscroll.scroll(-0.1, { move_cursor = false, duration = 100 }) end,
|
||||
["<C-e>"] = function() neoscroll.scroll(0.1, { move_cursor = false, duration = 100 }) end,
|
||||
["zt"] = function() neoscroll.zt({ half_win_duration = 250 }) end,
|
||||
["zz"] = function() neoscroll.zz({ half_win_duration = 250 }) end,
|
||||
["zb"] = function() neoscroll.zb({ half_win_duration = 250 }) end,
|
||||
}
|
||||
|
||||
local modes = { 'n', 'v', 'x' }
|
||||
for key, func in pairs(keymap) do
|
||||
vim.keymap.set(modes, key, func)
|
||||
end
|
||||
|
||||
require('neoscroll.config').set_mappings(t)
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
local neoscroll = require("neoscroll")
|
||||
|
||||
-- Keep cursor away from the edges
|
||||
vim.opt.scrolloff = 8
|
||||
|
||||
require("neoscroll").setup({
|
||||
neoscroll.setup({
|
||||
-- All these keys will be mapped to their corresponding default scrolling animation
|
||||
mappings = { '<C-u>', '<C-d>', '<C-b>', '<C-f>',
|
||||
'<C-y>', '<C-e>', 'zt', 'zz', 'zb' },
|
||||
|
@ -16,20 +18,20 @@ require("neoscroll").setup({
|
|||
easing_function = "quadratic", -- Default easing function
|
||||
})
|
||||
|
||||
local t = {}
|
||||
-- Syntax: t[keys] = {function, {function arguments}}
|
||||
-- Use the "sine" easing function
|
||||
t['<C-u>'] = { 'scroll', { '-vim.wo.scroll', 'true', '350', [['sine']] } }
|
||||
t['<C-d>'] = { 'scroll', { 'vim.wo.scroll', 'true', '350', [['sine']] } }
|
||||
-- Use the "circular" easing function
|
||||
t['<C-b>'] = { 'scroll', { '-vim.api.nvim_win_get_height(0)', 'true', '500', [['circular']] } }
|
||||
t['<C-f>'] = { 'scroll', { 'vim.api.nvim_win_get_height(0)', 'true', '500', [['circular']] } }
|
||||
-- Pass "nil" to disable the easing animation (constant scrolling speed)
|
||||
t['<C-y>'] = { 'scroll', { '-0.10', 'false', '100', nil } }
|
||||
t['<C-e>'] = { 'scroll', { '0.10', 'false', '100', nil } }
|
||||
-- When no easing function is provided the default easing function (in this case "quadratic") will be used
|
||||
t['zt'] = { 'zt', { '300' } }
|
||||
t['zz'] = { 'zz', { '300' } }
|
||||
t['zb'] = { 'zb', { '300' } }
|
||||
local keymap = {
|
||||
["<C-u>"] = function() neoscroll.ctrl_u({ duration = 250 }) end,
|
||||
["<C-d>"] = function() neoscroll.ctrl_d({ duration = 250 }) end,
|
||||
["<C-b>"] = function() neoscroll.ctrl_b({ duration = 450 }) end,
|
||||
["<C-f>"] = function() neoscroll.ctrl_f({ duration = 450 }) end,
|
||||
["<C-y>"] = function() neoscroll.scroll(-0.1, { move_cursor = false, duration = 100 }) end,
|
||||
["<C-e>"] = function() neoscroll.scroll(0.1, { move_cursor = false, duration = 100 }) end,
|
||||
["zt"] = function() neoscroll.zt({ half_win_duration = 250 }) end,
|
||||
["zz"] = function() neoscroll.zz({ half_win_duration = 250 }) end,
|
||||
["zb"] = function() neoscroll.zb({ half_win_duration = 250 }) end,
|
||||
}
|
||||
|
||||
local modes = { 'n', 'v', 'x' }
|
||||
for key, func in pairs(keymap) do
|
||||
vim.keymap.set(modes, key, func)
|
||||
end
|
||||
|
||||
require('neoscroll.config').set_mappings(t)
|
||||
|
|
Loading…
Reference in a new issue