return { -- Navigate between NVIM & Tmux splits seamlessly { "christoomey/vim-tmux-navigator", cond = require("config.util").is_not_vscode(), }, -- Navigate between NVIM & kitty splits { "knubie/vim-kitty-navigator", cond = require("config.util").is_not_vscode(), build = "cp ./*.py ~/.config/kitty/", keys = { { "", "KittyNavigateLeft" }, { "", "KittyNavigateDown" }, { "", "KittyNavigateUp" }, { "", "KittyNavigateRight" }, }, }, -- Open Kitty terminal scrollback as buffer { "mikesmithgh/kitty-scrollback.nvim", lazy = true, cond = require("config.util").is_not_vscode(), cmd = { "KittyScrollbackGenerateKittens", "KittyScrollbackCheckHealth" }, event = { "User KittyScrollbackLaunch" }, version = "^4.0.0", opts = { status_window = { icons = { nvim = "" }, }, }, config = function() require("kitty-scrollback").setup() end, }, -- Changes the Nvim root to git root { "airblade/vim-rooter", cond = require("config.util").is_not_vscode(), config = function() vim.g.rooter_cd_cmd = "tcd" -- Use tcd command to change the root end, }, -- Display undotree { "mbbill/undotree", keys = { { "u", "UndotreeToggle", desc = "Toggle Undotree panel" }, }, }, { "folke/which-key.nvim", cond = require("config.util").is_not_vscode(), dependencies = { "echasnovski/mini.icons", }, opts = { preset = "helix", warning = true, -- Document existing key chains spec = { { "a", group = "AI" }, { "c", group = "Code", icon = { icon = "", color = "orange" } }, { "b", group = "Buffer Operations", icon = { icon = "", color = "orange" } }, { "d", group = "Diagnostics", icon = { icon = "", color = "orange" } }, { "g", group = "Git", icon = { icon = "", color = "orange" } }, { "h", group = "Help", icon = { icon = "󰞋", color = "orange" } }, { "n", group = "Neovim Things", icon = { icon = "", color = "orange" } }, { "q", group = "Database", icon = { icon = "", color = "orange" } }, { "s", group = "Search/Grep", icon = { icon = "", color = "orange" } }, { "t", group = "Unit Test" }, { "x", group = "Delete/Disable/Remove", icon = { icon = "", color = "orange" } }, }, }, }, -- Session management. Saves your session in the background -- TIP: autocmd to autoload sessions at: ../config/autocmd.lua { "folke/persistence.nvim", cond = require("config.util").is_not_vscode(), event = "BufReadPre", opts = { -- Session files stored at: ~/.config/nvim/sessions/ dir = vim.fn.expand(vim.fn.stdpath("config") .. "/sessions/"), }, }, }