feat: 添加 nvim-tree 侧边文件树
- 新增 filetree.lua:nvim-tree 常驻侧边栏 - <leader>e 开关侧边文件树(VSCode 风格) - oil.nvim 保留,用 - 键快速编辑目录 - bufferline 添加 NvimTree 偏移适配 - which-key 添加 <leader>e 分组
This commit is contained in:
@@ -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,
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user