return require("packer").startup(function() -- Packer can manage itself use("wbthomason/packer.nvim") -- lua 调试 use("rafcamlet/nvim-luapad") ------------------ themes -------------------------- -- use({ -- "navarasu/onedark.nvim", -- }) use("folke/tokyonight.nvim") use("sainnhe/everforest") ----------------------------------------------------------------------------------------- -- a good terminal -- 一个好的nvim内终端 use({ "akinsho/toggleterm.nvim", tag = "*" }) -- make live command -- 实时命令 use({ "smjonas/live-command.nvim" }) -- lazygit support -- 使用lazygit接口 use("kdheepak/lazygit.nvim") ----------------- markdown -------------------- -- markdown preview -- markdown自动预览 use({ "iamcco/markdown-preview.nvim", }) -- markdown flow and enhance -- markdown 流程和增强 use({ "jakewvincent/mkdnflow.nvim" }) -- orgmode support -- orgmode 支持 use({ "nvim-orgmode/orgmode" }) -- nvim-tree for file manage -- use({ -- "kyazdani42/nvim-tree.lua", -- requires = "kyazdani42/nvim-web-devicons", -- }) use({ "nvim-neo-tree/neo-tree.nvim", branch = "v2.x", requires = { "nvim-lua/plenary.nvim", "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended "MunifTanjim/nui.nvim", }, }) -- vim dashboard -- vim 开始界面 -- use({ -- "glepnir/dashboard-nvim", -- event = "VimEnter", -- -- config = function() -- -- require("dashboard").setup({ -- -- -- config -- -- }) -- -- end, -- requires = { "nvim-tree/nvim-web-devicons" }, -- }) -- smooth neovim scroll -- 顺滑的neovim滚动 -- use("karb94/neoscroll.nvim") -- bufferline on the top -- 顶部状态栏 use({ "akinsho/bufferline.nvim", tag = "v3.*", requires = "nvim-tree/nvim-web-devicons" }) -- 更方便的切换buffer -- use({ "matbme/JABS.nvim" }) -- treesitter use({ "nvim-treesitter/nvim-treesitter", run = function() require("nvim-treesitter.install").update({ with_sync = true }) end, }) --------------------- file related ------------------------------- -- telescope use({ "nvim-telescope/telescope.nvim", requires = { { "nvim-lua/plenary.nvim" } }, }) -- telescope-file-browser use({ "nvim-telescope/telescope-file-browser.nvim" }) -- create new file -- 快捷创建新文件 use("Mohammed-Taher/AdvancedNewFile.nvim") -- project -- 项目管理 use({ "ahmedkhalf/project.nvim", }) -- whick-key use({ "folke/which-key.nvim", }) --------------------- buffer related ----------------- -- indent-blankline -- 竖向加竖线显示对齐 use({ "lukas-reineke/indent-blankline.nvim" }) -- comment use({ "numToStr/Comment.nvim", }) -- hop plugin -- 快速跳转 use({ "phaazon/hop.nvim", branch = "v2", -- optional but strongly recommended }) -- lualine for bottom stausline -- 底部状态栏 use({ "nvim-lualine/lualine.nvim", requires = { "nvim-tree/nvim-web-devicons", opt = true }, }) -- notify -- 弹窗消息通知 use({ "rcarriga/nvim-notify", }) -- autopairs -- 自动补全括号 use({ "windwp/nvim-autopairs", }) -- coderunner -- 代码运行 use({ "is0n/jaq-nvim" }) -- cmake support -- cmake 支持 -- use("Civitasv/cmake-tools.nvim") ------------------- lsp -------------------------- -- mason for lsp dap linter and others use({ "williamboman/mason.nvim", "williamboman/mason-lspconfig.nvim", "neovim/nvim-lspconfig", }) -- coc-nvim complete -- use({ "neoclide/coc.nvim", branch = "release" }) -- null-ls for formatter and others -- null-ls 用于格式化和其他 use({ "jose-elias-alvarez/null-ls.nvim", }) -- -- 补全引擎 use("hrsh7th/nvim-cmp") -- Snippet 引擎 use({ "L3MON4D3/LuaSnip" }) use("hrsh7th/vim-vsnip") -- 补全源 use("hrsh7th/cmp-vsnip") use({ "ray-x/lsp_signature.nvim" }) use({ "saadparwaiz1/cmp_luasnip" }) use("hrsh7th/cmp-nvim-lsp") -- { name = nvim_lsp } use("hrsh7th/cmp-buffer") -- { name = 'buffer' }, use("hrsh7th/cmp-path") -- { name = 'path' } use("hrsh7th/cmp-cmdline") -- { name = 'cmdline' } use("hrsh7th/cmp-nvim-lsp-signature-help") -- { name = 'nvim_lsp_signature_help' } -- 常见编程语言代码段 use("rafamadriz/friendly-snippets") -- UI 增强 use("onsails/lspkind-nvim") -- copilot 增强 use("github/copilot.vim") ------------------- repl ---------------------- use({ "hkupty/iron.nvim" }) ------------------- dap ----------------------- -- dap for neovim -- dap ui和适配器 use({ "rcarriga/nvim-dap-ui", requires = { "mfussenegger/nvim-dap", "theHamsta/nvim-dap-virtual-text" } }) -- persistent breakpoints -- 持久化断点 use({ "Weissle/persistent-breakpoints.nvim" }) end)