dotfiles/nvim/.config/nvim/lua/plugins/core.lua

95 lines
2.2 KiB
Lua

return {
-- allow seamless navigation between vim buffers and tmux/wezterm splits
{
"numToStr/Navigator.nvim",
branch = "master",
config = true,
event = "VeryLazy",
keys = {
{
"<c-w>h",
function()
require("Navigator").left()
end,
{ silent = true },
},
{
"<c-w>k",
function()
require("Navigator").up()
end,
{ silent = true },
},
{
"<c-w>l",
function()
require("Navigator").right()
end,
{ silent = true },
},
{
"<c-w>j",
function()
require("Navigator").down()
end,
{ silent = true },
},
{
"<c-w>p",
function()
require("Navigator").previous()
end,
{ silent = true },
},
},
},
-- jump between letters with improved fFtT quicksearch, mimics sneak
{ "ggandor/lightspeed.nvim", event = "BufEnter" },
-- personal dict improvements for git sync
{ "micarmst/vim-spellsync", event = "VeryLazy" },
{
"folke/which-key.nvim",
config = true,
event = "CursorHold",
},
-- collection of plugins
{
"echasnovski/mini.nvim",
version = "*",
dependencies = { "rktjmp/fwatch.nvim" },
config = function()
require("plugins.config.mini")
end,
event = "VimEnter", -- need to load pretty soon for Starter screen
keys = {
{ "<leader>sm", ":lua MiniMap.toggle()<cr>", { silent = true, desc = "minimap" } },
{ "<leader>ss", ":lua MiniStarter.open()<cr>", { desc = "startpage" } },
{
"<localleader>w",
function()
require("mini.trailspace").trim()
end,
},
},
},
-- simpler, programmable and multiple terminal toggling for nvim
{
"akinsho/nvim-toggleterm.lua",
config = function()
require("plugins.config.toggleterm")
end,
cmd = { "ToggleTerm", "TermExec", "Lazygit", "Pythonterm" },
keys = {
{ "<leader>sg", ":Lazygit<cr>" },
{ "<leader>sG", ":Lazygit!<cr>" },
{ "<leader>sp", ":Pythonterm<cr>" },
{ "<leader>sP", ":Pythonterm!<cr>" },
},
},
-- try to avoid putting files in util buffers, e.g. filetree, aerial, undotree, ..
{ "stevearc/stickybuf.nvim", config = true },
-- make it a little less painful to open really big (>2mb) files by disabling features
{ "LunarVim/bigfile.nvim", lazy = false },
}