new: Added the neoscroll plugin
This commit is contained in:
parent
a59303bf82
commit
06cb425209
7 changed files with 109 additions and 2 deletions
|
@ -32,4 +32,3 @@ vim.keymap.set('n', '<leader>f', ":Files<cr>", { remap = false })
|
||||||
-- Move around buffers using ,j and ,k
|
-- Move around buffers using ,j and ,k
|
||||||
vim.keymap.set('n', '<leader>k', ":bnext<cr>", { remap = false })
|
vim.keymap.set('n', '<leader>k', ":bnext<cr>", { remap = false })
|
||||||
vim.keymap.set('n', '<leader>j', ":bprevious<cr>", { remap = false })
|
vim.keymap.set('n', '<leader>j', ":bprevious<cr>", { remap = false })
|
||||||
|
|
||||||
|
|
|
@ -60,6 +60,7 @@ require("lazy").setup(
|
||||||
"kylechui/nvim-surround",
|
"kylechui/nvim-surround",
|
||||||
"junegunn/fzf",
|
"junegunn/fzf",
|
||||||
"junegunn/fzf.vim",
|
"junegunn/fzf.vim",
|
||||||
|
"karb94/neoscroll.nvim",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
lockfile = vim.fn.stdpath("config") .. "/config/lazy-lock.json",
|
lockfile = vim.fn.stdpath("config") .. "/config/lazy-lock.json",
|
||||||
|
|
35
laptop/plugin/neoscroll.lua
Normal file
35
laptop/plugin/neoscroll.lua
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
-- Keep cursor away from the edges
|
||||||
|
vim.opt.scrolloff = 8
|
||||||
|
|
||||||
|
require("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
|
||||||
|
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
|
||||||
|
post_hook = nil, -- Function to run after the scrolling animation ends
|
||||||
|
performance_mode = false, -- Disable "Performance Mode" on all buffers.
|
||||||
|
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' } }
|
||||||
|
|
||||||
|
require('neoscroll.config').set_mappings(t)
|
|
@ -51,6 +51,7 @@ require("lazy").setup(
|
||||||
"kylechui/nvim-surround",
|
"kylechui/nvim-surround",
|
||||||
"junegunn/fzf",
|
"junegunn/fzf",
|
||||||
"junegunn/fzf.vim",
|
"junegunn/fzf.vim",
|
||||||
|
"karb94/neoscroll.nvim",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
lockfile = vim.fn.stdpath("config") .. "/config/lazy-lock.json",
|
lockfile = vim.fn.stdpath("config") .. "/config/lazy-lock.json",
|
||||||
|
|
35
server/plugin/neoscroll.lua
Normal file
35
server/plugin/neoscroll.lua
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
-- Keep cursor away from the edges
|
||||||
|
vim.opt.scrolloff = 8
|
||||||
|
|
||||||
|
require("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
|
||||||
|
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
|
||||||
|
post_hook = nil, -- Function to run after the scrolling animation ends
|
||||||
|
performance_mode = false, -- Disable "Performance Mode" on all buffers.
|
||||||
|
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' } }
|
||||||
|
|
||||||
|
require('neoscroll.config').set_mappings(t)
|
|
@ -51,6 +51,7 @@ require("lazy").setup(
|
||||||
"kylechui/nvim-surround",
|
"kylechui/nvim-surround",
|
||||||
"junegunn/fzf",
|
"junegunn/fzf",
|
||||||
"junegunn/fzf.vim",
|
"junegunn/fzf.vim",
|
||||||
|
"karb94/neoscroll.nvim",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
lockfile = vim.fn.stdpath("config") .. "/config/lazy-lock.json",
|
lockfile = vim.fn.stdpath("config") .. "/config/lazy-lock.json",
|
||||||
|
|
35
vps/plugin/neoscroll.lua
Normal file
35
vps/plugin/neoscroll.lua
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
-- Keep cursor away from the edges
|
||||||
|
vim.opt.scrolloff = 8
|
||||||
|
|
||||||
|
require("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
|
||||||
|
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
|
||||||
|
post_hook = nil, -- Function to run after the scrolling animation ends
|
||||||
|
performance_mode = false, -- Disable "Performance Mode" on all buffers.
|
||||||
|
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' } }
|
||||||
|
|
||||||
|
require('neoscroll.config').set_mappings(t)
|
Loading…
Reference in a new issue