return { 'nvim-tree/nvim-tree.lua', dependencies = { 'nvim-tree/nvim-web-devicons' }, lazy = false, keys = { { 'e', 'NvimTreeToggle', desc = 'Toggle file explorer' }, }, init = function() -- disable netrw vim.g.loaded_netrw = 1 vim.g.loaded_netrwPlugin = 1 end, config = function() require('nvim-tree').setup({ view = { width = 32 }, sync_root_with_cwd = true, update_focused_file = { enable = true }, actions = { open_file = { window_picker = { enable = true }, }, }, on_attach = function(bufnr) local api = require('nvim-tree.api') -- Keep all default keymaps api.config.mappings.default_on_attach(bufnr) local function opts(desc) return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true } end -- Swap 'd'/'D' vim.keymap.set({ 'n', 'x' }, 'd', api.fs.trash, opts('Trash')) vim.keymap.set({ 'n', 'x' }, 'D', api.fs.remove, opts('Delete')) end, }) end, }