- 新增 filetree.lua:nvim-tree 常驻侧边栏 - <leader>e 开关侧边文件树(VSCode 风格) - oil.nvim 保留,用 - 键快速编辑目录 - bufferline 添加 NvimTree 偏移适配 - which-key 添加 <leader>e 分组
69 lines
2.1 KiB
Lua
69 lines
2.1 KiB
Lua
-- =============================================================================
|
|
-- filetree.lua — 侧边文件树
|
|
-- =============================================================================
|
|
-- 【新增文件】nvim-tree 作为常驻侧边栏(VSCode 风格),oil.nvim 保留用于快速编辑。
|
|
-- 两者共存:nvim-tree 看结构,oil 改文件。
|
|
-- 键位:<leader>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, -- 不自动开,用 <leader>e 手动开
|
|
on_attach = function(bufnr)
|
|
local api = require("nvim-tree.api")
|
|
api.config.mappings.default_on_attach(bufnr)
|
|
end,
|
|
})
|
|
|
|
-- <leader>e 开关侧边文件树
|
|
vim.keymap.set("n", "<leader>e", "<cmd>NvimTreeToggle<CR>",
|
|
{ desc = "侧边文件树", noremap = true, silent = true })
|
|
end,
|
|
},
|
|
}
|