-- ============================================================================= -- filetree.lua — 侧边文件树 -- ============================================================================= -- 【新增文件】nvim-tree 作为常驻侧边栏(VSCode 风格),oil.nvim 保留用于快速编辑。 -- 两者共存:nvim-tree 看结构,oil 改文件。 -- 键位:e 开关侧边栏 return { { "nvim-tree/nvim-tree.lua", version = "*", lazy = false, -- 立即加载,确保打开就有侧边栏 dependencies = { "nvim-tree/nvim-web-devicons" }, config = function() -- 禁用 netrw(避免和 oil 冲突,oil 自己也会禁一次,这里双保险) vim.g.loaded_netrw = 1 vim.g.loaded_netrwPlugin = 1 require("nvim-tree").setup({ sort_by = "case_sensitive", view = { width = 30, side = "left", relativenumber = false, -- ✅ 关闭文件树时自动调整窗口大小 adaptive_size = false, }, renderer = { group_empty = true, icons = { show = { file = true, folder = true, folder_arrow = true, git = true, }, }, }, filters = { dotfiles = false, custom = { "^.git$" }, }, git = { enable = true, ignore = false, }, actions = { open_file = { quit_on_open = false, -- 打开文件不关树 window_picker = { enable = true, }, }, }, -- ✅ 打开 nvim 时自动打开文件树 auto_open_on_setup = false, -- 不自动开,用 e 手动开 on_attach = function(bufnr) local api = require("nvim-tree.api") api.config.mappings.default_on_attach(bufnr) end, }) -- e 开关侧边文件树 vim.keymap.set("n", "e", "NvimTreeToggle", { desc = "侧边文件树", noremap = true, silent = true }) end, }, }