:NeoTree
NeoTree es un plugin que nos permitirá navegar por la estructura de árbol de archivos y directorios, y gestionar los mismos. Vamos, que podemos gestionar archivos y directorios, y navegar entre ellos.
Instalación
Nos vamos al directorio $HOME/.config/nvim/plugins/
y vamos a crear el archivo
neotree-cfg.lua
. Una vez abierto escribimos esto dentro:
return {
-- NeoTree
"nvim-neo-tree/neo-tree.nvim",
dependencies = {"nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim"}
},
Tras guardar el archivo, la barra de comandos nos avisa de que se han producido cambios en el archivo de las especificaciones. Salimos de Neovim y lo volvemos a ejecutar.

Se carga el gestor de Lazy y acto seguido instalará NeoTree y sus dependencias. Ahora solo hay que activar NeoTree.
Activar NeoTree
Dentro del archivo neotree-cfg.lua
, vamos a modificar lo que hay después de las
dependencias:
return {
-- NeoTree
"nvim-neo-tree/neo-tree.nvim",
dependencies = {"nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim"},
config = function()
require("neo-tree").setup() -- Se activa el plugin
end,
},
Guardamos el archivo, salimos de Neovim y lo volvemos a cargar. De momento no sucede
nada, pero si escribimos el comando :Neotree
…

Nos aparece una barra lateral con la estructura del directorio actual. Esto viene bien cuando se trabaje con proyectos de
programación organizados por directorios. Si volvemos a usar el comando no se cierra.
Tenemos que escribir :Neotree close
para cerrarlo. Lo que queremos más adelante es
pulsar una tecla para abrir y cerrar NeoTree.
Configurar Neotree
Ahora vamos a liarnos con el archivo de configuración de NeoTree para alterar su funcionamiento. Lo primero será usar la tecla de tabulación para abrir/cerrar NeoTree.
Para eso abrimos de nuevo neotree-cfg.lua
y debajo de la línea de setup()
añadimos el atajo:
require("neo-tree").setup()
vim.keymap.set("n", "<tab>", ":Neotree toggle<cr>", {silent = true})
Ahora sucede que cuando abrimos un archivo, lo abre en un búfer, en vez de una
pestaña. Vamos a hacer que cuando pulsemos Enter, se abra en una pestaña nueva. Pues dentro de setup()
añadimos:
require("neo-tree").setup({
window = {
mappings = {
["<cr>"] = { "open_tabnew" }
}
}
})
Cerramos Neovim, volvemos a ejecutarlo, abrimos Neotree y seleccionamos un archivo. Al abrirlo, ahora se carga en una pestaña nueva.

Para más información sobre cómo configurar NeoTree a tu gusto, puedes dirigirte a
la documentación oficial de Github o bien escribiendo el comando :help neo-tree
. A mí personalmente me gusta que se abra como una ventana lateral, como si estuvieses trabajando en Visual Studio Code u otro IDE.
Atajos de teclado de NeoTree
Este plugin dispone de atajos de teclado por defecto para que el usuario pueda hacer un montón de cosas con él. Vamos con ellos.
Tecla | Descripción |
---|---|
A | Crea un directorio |
a | Crea un archivo, o un directorio si acaba con una ”/“ |
c | Copia un archivo/directorio |
d | Borra un archivo/directorio |
i | Muestra la información del archivo/directorio |
H | Muestra los archivos ocultos, los que comienzan por el . |
m | Mueve un archivo/directorio a otro |
oc | Permite ordenar los archivos por fecha de creación |
od | Permite ordenar los archivos por la cantidad de diagnósticos |
og | Permite ordenar los archivos por el estado de Git |
om | Permite ordenar los archivos por fecha de modificación |
on | Permite ordenar los archivos por nombre |
os | Permite ordenar los archivos por tamaño |
ot | Permite ordenar los archivos por tipo |
p | Pegar del Portapapeles |
r | Cambia el nombre de un archivo/directorio |
x | Cortar del Portapapeles |
y | Copiar del Portapapeles |
Retroceso | Subir a un directorio superior |
? | Muestra los atajos de NeoTree |