feat: 添加 nvim-tree 侧边文件树

- 新增 filetree.lua:nvim-tree 常驻侧边栏
- <leader>e 开关侧边文件树(VSCode 风格)
- oil.nvim 保留,用 - 键快速编辑目录
- bufferline 添加 NvimTree 偏移适配
- which-key 添加 <leader>e 分组
This commit is contained in:
2026-07-16 13:26:00 +08:00
parent 29169fe2e8
commit bb9b7915a6
3 changed files with 76 additions and 1 deletions
+68
View File
@@ -0,0 +1,68 @@
-- =============================================================================
-- 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,
},
}
+7 -1
View File
@@ -43,7 +43,7 @@ return {
tab_size = 18,
diagnostics = "nvim_lsp",
diagnostics_update_in_insert = false,
-- ✅ 适配 oil.nvim:左侧文件浏览器偏移
-- ✅ 适配 oil.nvim 和 nvim-tree:左侧文件浏览器偏移
offsets = {
{
filetype = "oil",
@@ -51,6 +51,12 @@ return {
highlight = "Directory",
text_align = "left",
},
{
filetype = "NvimTree",
text = "文件树",
highlight = "Directory",
text_align = "left",
},
},
color_icons = true,
show_buffer_icons = true,
+1
View File
@@ -41,6 +41,7 @@ return {
-- ✅ 新增:键位分组提示
wk.add({
{ "<leader>e", group = "文件树" },
{ "<leader>f", group = "搜索" },
{ "<leader>g", group = "Git" },
{ "<leader>h", group = "Hunk 操作" },