(neovim) make plugins setup modular, huge changes to keymaps

This commit is contained in:
Bartek Stalewski 2025-06-28 01:11:53 +02:00
parent 99f699de06
commit 957ec52ca8
No known key found for this signature in database
9 changed files with 168 additions and 199 deletions

View file

@ -8,7 +8,6 @@ local nomap = vim.keymap.del
nomap("n", "<leader><space>") nomap("n", "<leader><space>")
nomap("n", "<leader>,") nomap("n", "<leader>,")
nomap("n", "<leader>.") nomap("n", "<leader>.")
nomap("n", "<leader>:")
nomap("n", "<leader>?") nomap("n", "<leader>?")
nomap("n", "<leader>K") nomap("n", "<leader>K")
nomap("n", "<leader>l") nomap("n", "<leader>l")
@ -17,32 +16,21 @@ nomap("n", "<leader>S")
nomap("n", "<leader>`") nomap("n", "<leader>`")
nomap("n", "<leader>bb") nomap("n", "<leader>bb")
nomap("n", "<leader>bd")
nomap("n", "<leader>bD") nomap("n", "<leader>bD")
nomap("n", "<leader>bo") nomap("n", "<leader>bo")
nomap("n", "<leader>E") nomap("n", "<leader>E")
nomap("n", "<leader>fb")
nomap("n", "<leader>fB") nomap("n", "<leader>fB")
nomap("n", "<leader>fc")
nomap("n", "<leader>fe") nomap("n", "<leader>fe")
nomap("n", "<leader>fE") nomap("n", "<leader>fE")
nomap("n", "<leader>ff")
nomap("n", "<leader>fF")
nomap("n", "<leader>fg")
nomap("n", "<leader>fn") nomap("n", "<leader>fn")
nomap("n", "<leader>fp") nomap("n", "<leader>fp")
nomap("n", "<leader>fr")
nomap("n", "<leader>fR") nomap("n", "<leader>fR")
nomap("n", "<leader>ft") nomap("n", "<leader>ft")
nomap("n", "<leader>fT") nomap("n", "<leader>fT")
nomap("n", "<leader>gb")
nomap("n", "<leader>gB")
nomap("n", "<leader>gs")
nomap("n", "<leader>gY") nomap("n", "<leader>gY")
nomap("n", "<leader>gd")
nomap("n", "<leader>gS") nomap("n", "<leader>gS")
nomap("n", "<leader>qq") nomap("n", "<leader>qq")
@ -55,17 +43,16 @@ map("i", "<C-e>", "<esc>A")
map("n", "<esc><cr>", "<esc><cmd>wq!<cr>", { desc = "Save and Exit", remap = true }) map("n", "<esc><cr>", "<esc><cmd>wq!<cr>", { desc = "Save and Exit", remap = true })
map("n", "<tab>", "<C-w>w", { desc = "Switch Pane", remap = true }) map("n", "<tab>", "<C-w>w", { desc = "Switch Pane", remap = true })
map("n", "<leader>-", "<C-W>s", { desc = "Split Horizontally", remap = true }) map("n", "<leader>-", "<C-W>s", { desc = "Split Horizontally", remap = true })
map("n", "<leader>|", "<C-W>v", { desc = "Split Vertically", remap = true })
map("n", "<leader>/", "gcc", { desc = "Toggle Comments", remap = true }) map("n", "<leader>/", "gcc", { desc = "Toggle Comments", remap = true })
map("n", "<leader>|", "<C-W>v", { desc = "Split Vertically", remap = true })
map("n", "<leader>bl", function()
Snacks.picker.buffers()
end, { desc = "Buffer List", remap = true })
map("n", "<leader>b[", "<cmd>bprevious<CR>", { desc = "Previous Buffer", remap = true })
map("n", "<leader>b]", "<cmd>bnext<CR>", { desc = "Next Buffer", remap = true })
map("n", "<leader>bn", "<cmd>enew<CR>", { desc = "New Buffer", remap = true }) map("n", "<leader>bn", "<cmd>enew<CR>", { desc = "New Buffer", remap = true })
map("n", "<leader>bl", "<cmd>bnext<CR>", { desc = "Next Buffer", remap = true })
map("n", "<leader>bh", "<cmd>bprevious<CR>", { desc = "Previous Buffer", remap = true })
map("n", "<leader>bq", function()
Snacks.bufdelete()
end, { desc = "Delete Buffer" })
map("n", "<leader>h", "<cmd>set hlsearch!<cr>", { desc = "Toggle hlsearch", remap = true }) map("n", "<leader>h", "<cmd>set hlsearch!<cr>", { desc = "Toggle hlsearch", remap = true })
map( map(
"n", "n",
@ -73,5 +60,8 @@ map(
'<cmd>execute "set colorcolumn=" . (&colorcolumn == "" ? "80,120" : "")<cr>', '<cmd>execute "set colorcolumn=" . (&colorcolumn == "" ? "80,120" : "")<cr>',
{ desc = "Toggle Columns", remap = true } { desc = "Toggle Columns", remap = true }
) )
-- <leader>n (toggle decorations) moved to configuration of snacks.nvim in plugins/init.lua map("n", "<leader>T", function()
Snacks.terminal()
end, { desc = "Terminal", remap = true })
map("v", "<leader>/", "gc", { desc = "Toggle Comments", remap = true }) map("v", "<leader>/", "gc", { desc = "Toggle Comments", remap = true })

View file

@ -0,0 +1,11 @@
return {
{ "akinsho/bufferline.nvim", enabled = false },
{ "catppuccin/nvim", enabled = false },
{ "folke/persistence.nvim", enabled = false },
{ "folke/tokyonight.nvim", enabled = false },
{ "folke/trouble.nvim", enabled = false },
{ "MagickDuck/grug-far.nvim", enabled = false },
{ "nvim-neo-tree/neo-tree.nvim", enabled = false },
{ "todo-comments.nvim", enabled = false },
{ "windwp/nvim-ts-autotag", enabled = false },
}

View file

@ -1,178 +0,0 @@
return {
{ "akinsho/bufferline.nvim", enabled = false },
{ "catppuccin/nvim", enabled = false },
{ "folke/persistence.nvim", enabled = false },
{ "folke/todo-comments.nvim", enabled = false },
{ "folke/tokyonight.nvim", enabled = false },
{ "folke/trouble.nvim", enabled = false },
{ "MagickDuck/grug-far.nvim", enabled = false },
{ "nvim-neo-tree/neo-tree.nvim", enabled = false },
{ "windwp/nvim-ts-autotag", enabled = false },
{
"folke/snacks.nvim",
-- opts = {
-- dashboard = { enabled = false },
-- },
keys = {
{
"<leader>n",
function()
vim.cmd("set number!")
vim.cmd('execute "set signcolumn=" . (&signcolumn == "yes" ? "no" : "yes")')
if Snacks.indent.enabled then
Snacks.indent.disable()
else
Snacks.indent.enable()
end
end,
desc = "Toggle Decorations",
},
{
"<leader>e",
function()
Snacks.explorer()
end,
desc = "File Explorer",
},
},
},
{
"folke/which-key.nvim",
event = "VeryLazy",
opts_extend = { "spec" },
opts = {
preset = "helix",
defaults = {},
spec = {
{
mode = { "n", "v" },
{ "<leader><tab>", group = "tabs", hidden = true },
{ "<leader>c", group = "code", hidden = true },
{ "<leader>d", group = "debug", hidden = true },
{ "<leader>dp", group = "profiler", hidden = true },
{ "<leader>g", group = "git", hidden = true },
{ "<leader>gh", group = "hunks", hidden = true },
{ "<leader>q", group = "quit/session", hidden = true },
{ "<leader>s", group = "search", hidden = true },
{ "<leader>u", group = "ui", icon = { icon = "󰙵 ", color = "cyan" }, hidden = true },
{ "<leader>x", group = "diagnostics/quickfix", icon = { icon = "󱖫 ", color = "green" }, hidden = true },
{
"<leader>b",
group = "buffer",
expand = function()
return require("which-key.extras").expand.buf()
end,
},
{
"<leader>w",
group = "windows",
proxy = "<c-w>",
expand = function()
return require("which-key.extras").expand.win()
end,
hidden = true,
},
-- better descriptions
{ "gx", desc = "Open with system app", hidden = true },
},
},
},
},
{
"iamcco/markdown-preview.nvim",
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
build = "cd app && yarn install",
init = function()
vim.g.mkdp_filetypes = { "markdown" }
end,
ft = { "markdown" },
},
{
"loctvl842/monokai-pro.nvim",
opts = {
filter = "classic",
},
},
{
"LazyVim/LazyVim",
opts = {
colorscheme = "monokai-pro",
},
},
{
"nvim-lualine/lualine.nvim",
opts = {
options = {
theme = "powerline",
section_separators = "",
component_separators = "",
globalstatus = false,
},
sections = {
lualine_c = {
{
"diagnostics",
symbols = {
error = LazyVim.config.icons.diagnostics.Error,
warn = LazyVim.config.icons.diagnostics.Warn,
info = LazyVim.config.icons.diagnostics.Info,
hint = LazyVim.config.icons.diagnostics.Hint,
},
},
{ "filetype", icon_only = true, separator = "", padding = { left = 1, right = 0 } },
{ "filename", file_status = true, path = 1 },
},
lualine_x = {
{
"diff",
symbols = {
added = LazyVim.config.icons.git.added,
modified = LazyVim.config.icons.git.modified,
removed = LazyVim.config.icons.git.removed,
},
},
},
lualine_z = {},
},
tabline = {
lualine_a = { "buffers" },
},
},
},
{
"nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
opts.ensure_installed = {
"bash",
"diff",
"gotmpl",
"helm",
"json",
"lua",
"markdown",
"markdown_inline",
"python",
"terraform",
"vim",
}
end,
},
{
"williamboman/mason.nvim",
opts = {
ensure_installed = {
"lua-language-server",
"terraform-ls",
"tflint",
},
},
},
}

View file

@ -0,0 +1,10 @@
return {
"williamboman/mason.nvim",
opts = {
ensure_installed = {
"lua-language-server",
"terraform-ls",
"tflint",
},
},
}

View file

@ -0,0 +1,40 @@
return {
"nvim-lualine/lualine.nvim",
opts = {
options = {
theme = "powerline",
section_separators = "",
component_separators = "",
globalstatus = false,
},
sections = {
lualine_c = {
{
"diagnostics",
symbols = {
error = LazyVim.config.icons.diagnostics.Error,
warn = LazyVim.config.icons.diagnostics.Warn,
info = LazyVim.config.icons.diagnostics.Info,
hint = LazyVim.config.icons.diagnostics.Hint,
},
},
{ "filetype", icon_only = true, separator = "", padding = { left = 1, right = 0 } },
{ "filename", file_status = true, path = 1 },
},
lualine_x = {
{
"diff",
symbols = {
added = LazyVim.config.icons.git.added,
modified = LazyVim.config.icons.git.modified,
removed = LazyVim.config.icons.git.removed,
},
},
},
lualine_z = {},
},
tabline = {
lualine_a = { "buffers" },
},
},
}

View file

@ -0,0 +1,15 @@
return {
{
"loctvl842/monokai-pro.nvim",
priority = 1000,
opts = {
filter = "classic",
},
},
{
"LazyVim/LazyVim",
opts = {
colorscheme = "monokai-pro",
},
},
}

View file

@ -0,0 +1,28 @@
return {
"folke/snacks.nvim",
opts = {
dashboard = { enabled = false },
},
keys = {
{
"<leader>n",
function()
vim.cmd("set number!")
vim.cmd('execute "set signcolumn=" . (&signcolumn == "yes" ? "no" : "yes")')
if Snacks.indent.enabled then
Snacks.indent.disable()
else
Snacks.indent.enable()
end
end,
desc = "Toggle Decorations",
},
{
"<leader>e",
function()
Snacks.explorer()
end,
desc = "File Explorer",
},
},
}

View file

@ -0,0 +1,18 @@
return {
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = {
"bash",
"diff",
"gotmpl",
"helm",
"json",
"lua",
"markdown",
"markdown_inline",
"python",
"terraform",
"vim",
},
},
}

View file

@ -0,0 +1,35 @@
return {
"folke/which-key.nvim",
event = "VeryLazy",
opts_extend = { "spec" },
opts = {
preset = "helix",
icons = {
mappings = false,
},
defaults = {},
spec = {
{
mode = { "n", "v" },
{
"<leader>b",
group = "buffer",
expand = function()
return require("which-key.extras").expand.buf()
end,
},
{ "<leader><tab>", group = "tabs", hidden = true },
{ "<leader>d", group = "debug", hidden = true },
{ "<leader>dp", group = "profiler", hidden = true },
{ "<leader>gh", group = "hunks", hidden = true },
{ "<leader>q", group = "quit/session", hidden = true },
{ "<leader>s", group = "search", hidden = true },
{ "<leader>t", hidden = true },
{ "<leader>u", group = "ui", hidden = true },
{ "<leader>w", hidden = true },
{ "<leader>x", group = "diagnostics/quickfix", hidden = true },
{ "gx", desc = "Open with system app", hidden = true },
},
},
},
}