Compare commits

...

2 Commits

Author SHA1 Message Date
Sayantan Santra 06cb425209
new: Added the neoscroll plugin 2024-03-26 17:14:42 -05:00
Sayantan Santra a59303bf82
chg: Reorganize config files 2024-03-26 16:47:12 -05:00
18 changed files with 199 additions and 75 deletions

View File

@ -29,7 +29,3 @@ set.spelllang = { "en", "programming" }
vim.g.loaded_perl_provider = 0
vim.g.loaded_node_provider = 0
vim.g.loaded_ruby_provider = 0
-- Load UltiSnips snippets from custom-snippets directory
vim.g.UltiSnipsSnippetDirectories = { "custom-snippets", "UltiSnips" }

View File

@ -5,7 +5,7 @@ vim.g.mapleader = ','
vim.g.maplocalleader = ';'
-- Set K to hover
vim.api.nvim_buf_create_user_command(0, "LspHover", "lua vim.lsp.buf.hover()", {nargs = '+' })
vim.api.nvim_buf_create_user_command(0, "LspHover", "lua vim.lsp.buf.hover()", { nargs = '+' })
vim.opt.keywordprg = ":LspHover"
-- Use ctrl-[hjkl] to select the active split!
@ -32,4 +32,3 @@ vim.keymap.set('n', '<leader>f', ":Files<cr>", { remap = false })
-- Move around buffers using ,j and ,k
vim.keymap.set('n', '<leader>k', ":bnext<cr>", { remap = false })
vim.keymap.set('n', '<leader>j', ":bprevious<cr>", { remap = false })

69
laptop/config/plugins.lua Normal file
View File

@ -0,0 +1,69 @@
-- Automatically bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
-- Load plugin via paq-nvim
require("lazy").setup(
{
-- Use lualine for statusbar
"nvim-lualine/lualine.nvim",
"nvim-tree/nvim-web-devicons",
-- Auto commenting per filetype
"numToStr/Comment.nvim",
-- Give option to save files using sudo, if needed
"lambdalisue/suda.vim",
-- Auto toggle for number mode when vim isn't focused
"sitiom/nvim-numbertoggle",
-- Plugin for lean
"julian/lean.nvim",
-- Treesitter
{ "nvim-treesitter/nvim-treesitter", build = ":TSUpdate" },
-- LSP related plugins
"neovim/nvim-lspconfig",
"nvim-lua/plenary.nvim",
{
"hrsh7th/nvim-cmp", -- For LSP completion
event = "InsertEnter",
dependencies = {
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-buffer",
"micangl/cmp-vimtex",
"hrsh7th/cmp-path",
"hrsh7th/cmp-cmdline",
}
},
"SirVer/ultisnips", -- For snippets
-- Support programming terms
{ "psliwka/vim-dirtytalk", build = ":DirtytalkUpdate" },
-- vim-moonfly theme
{ "bluz71/vim-moonfly-colors", as = "moonfly" },
-- Rust tools
"simrat39/rust-tools.nvim",
-- Automatically add bracket pairs
"windwp/nvim-autopairs",
-- Syntax highlighting for Fish scripts
"khaveesh/vim-fish-syntax",
-- Plugin for LaTeX
"lervag/vimtex",
-- Formatter
"stevearc/conform.nvim",
"kylechui/nvim-surround",
"junegunn/fzf",
"junegunn/fzf.vim",
"karb94/neoscroll.nvim",
},
{
lockfile = vim.fn.stdpath("config") .. "/config/lazy-lock.json",
install = { missing = true },
}
)

View File

@ -1,5 +1,5 @@
-- Load the different config files
package.path = package.path .. ';' .. vim.fn.stdpath("config") .. "/?.lua"
package.path = package.path .. ';' .. vim.fn.stdpath("config") .. "/config/?.lua"
-- Load global configs
require("globals")

View File

@ -5,3 +5,6 @@ require("Comment").setup()
-- Default settings for nvim-surround
require("nvim-surround").setup()
-- Load UltiSnips snippets from custom-snippets directory
vim.g.UltiSnipsSnippetDirectories = { "my-snippets", "UltiSnips" }

View 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)

View File

@ -1,62 +0,0 @@
-- Automatically bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
-- Load plugin via paq-nvim
require("lazy").setup({
-- Use lualine for statusbar
"nvim-lualine/lualine.nvim",
"nvim-tree/nvim-web-devicons",
-- Auto commenting per filetype
"numToStr/Comment.nvim",
-- Give option to save files using sudo, if needed
"lambdalisue/suda.vim",
-- Auto toggle for number mode when vim isn't focused
"sitiom/nvim-numbertoggle",
-- Plugin for lean
"julian/lean.nvim",
-- Treesitter
{ "nvim-treesitter/nvim-treesitter", build = ":TSUpdate" },
-- LSP related plugins
"neovim/nvim-lspconfig",
"nvim-lua/plenary.nvim",
{
"hrsh7th/nvim-cmp", -- For LSP completion
event = "InsertEnter",
dependencies = {
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-buffer",
"micangl/cmp-vimtex",
"hrsh7th/cmp-path",
"hrsh7th/cmp-cmdline",
}
},
"SirVer/ultisnips", -- For snippets
-- Support programming terms
{ "psliwka/vim-dirtytalk", build = ":DirtytalkUpdate" },
-- vim-moonfly theme
{ "bluz71/vim-moonfly-colors", as = "moonfly" },
-- Rust tools
"simrat39/rust-tools.nvim",
-- Automatically add bracket pairs
"windwp/nvim-autopairs",
-- Syntax highlighting for Fish scripts
"khaveesh/vim-fish-syntax",
-- Plugin for LaTeX
"lervag/vimtex",
-- Formatter
"stevearc/conform.nvim",
"kylechui/nvim-surround",
"junegunn/fzf",
"junegunn/fzf.vim",
})

View File

@ -13,7 +13,8 @@ end
vim.opt.rtp:prepend(lazypath)
-- Load plugins via lazy.nvim
require("lazy").setup({
require("lazy").setup(
{
-- Use lualine for statusbar
"nvim-lualine/lualine.nvim",
"nvim-tree/nvim-web-devicons",
@ -50,5 +51,11 @@ require("lazy").setup({
"kylechui/nvim-surround",
"junegunn/fzf",
"junegunn/fzf.vim",
})
"karb94/neoscroll.nvim",
},
{
lockfile = vim.fn.stdpath("config") .. "/config/lazy-lock.json",
install = { missing = true },
}
)

View File

@ -1,5 +1,5 @@
-- Load the different config files
package.path = package.path .. ';' .. vim.fn.stdpath("config") .. "/?.lua"
package.path = package.path .. ';' .. vim.fn.stdpath("config") .. "/config/?.lua"
-- Load global configs
require("globals")

View 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)

View File

@ -13,7 +13,8 @@ end
vim.opt.rtp:prepend(lazypath)
-- Load plugins via lazy.nvim
require("lazy").setup({
require("lazy").setup(
{
-- Use lualine for statusbar
"nvim-lualine/lualine.nvim",
"nvim-tree/nvim-web-devicons",
@ -50,5 +51,11 @@ require("lazy").setup({
"kylechui/nvim-surround",
"junegunn/fzf",
"junegunn/fzf.vim",
})
"karb94/neoscroll.nvim",
},
{
lockfile = vim.fn.stdpath("config") .. "/config/lazy-lock.json",
install = { missing = true },
}
)

View File

@ -1,5 +1,5 @@
-- Load the different config files
package.path = package.path .. ';' .. vim.fn.stdpath("config") .. "/?.lua"
package.path = package.path .. ';' .. vim.fn.stdpath("config") .. "/config/?.lua"
-- Load global configs
require("globals")

35
vps/plugin/neoscroll.lua Normal file
View 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)