-- Nvim-tree keymap function local function my_on_attach(bufnr) local api = require('nvim-tree.api') local function opts(desc) return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true } end api.config.mappings.default_on_attach(bufnr) vim.keymap.set('n', 'A', api.tree.expand_all, opts('Expand All')) vim.keymap.set('n', '?', api.tree.toggle_help, opts('Help')) vim.keymap.set('n', 'P', function() local node = api.tree.get_node_under_cursor() print(node.absolute_path) end, opts('Print Node Path')) vim.keymap.set('n', 'Z', api.node.run.system, opts('Run System')) vim.keymap.set('n', 'u', api.tree.change_root_to_parent, opts('Up')) end -- disable netrw at the very start of your init.lua (strongly advised) vim.g.loaded = 1 vim.g.loaded_netrwPlugin = 1 -- Setup with some options require("nvim-tree").setup({ sort_by = "case_sensitive", on_attach = my_on_attach, view = { adaptive_size = true, }, renderer = { group_empty = true, }, filters = { dotfiles = true, }, tab = { sync = { open = true, close = true, ignore = {} } }, update_focused_file = { enable = true, update_cwd = true, }, }) vim.g.nvim_tree_respect_buf_cwd = 1 -- Others setup require('leap').set_default_keymaps() -- require("cscope_maps").setup({}) -- -- vim.keymap.set('i', '', function () return vim.fn['codeium#Complete']() end, { expr = true }) vim.keymap.set('i', '', function () -- Check if codeium#Complete is available if vim.g.codeium_enabled_toggle == "on" then return vim.fn['codeium#Complete']() end end, { expr = true }) vim.g.codeium_manual = true