📈 GH Trending Explorer 🎲 Surprise me

← all repos

nvim-tree / nvim-tree.lua

git clone https://github.com/nvim-tree/nvim-tree.lua.git nvim-tree-v1.18.0 · 3mo ago 🔥 on GitHub Trending today

A file explorer tree for neovim written in lua

+2
stars, 24h · #505
—
stars, 7 days
—
stars, 30 days
8.7k
★ total
642
forks · 109 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageLua
License—
Created2020-02-04 (6y ago)
Last pushtoday
Watchers25
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-20 — #6 daily in lua · +2 ★

GitHub topics

Links

README excerpt
# A File Explorer For Neovim Written In Lua
 Automatic updates
 File type icons
 Git integration
 Diagnostics integration: LSP and COC
 (Live) filtering
 Rename, delete, create
 Cut, copy, paste locally and between instances
 Highly customisable
Take a look at the wiki for Showcases, Tips, Recipes and more.
Questions and general support: Discussions
- Requirements
- Installing
- Quick Start
 * Setup
 * Help
 * Custom Mappings
 * Highlight Groups
- Commands
- Roadmap
- API
- Contributing
- Screenshots
- Team
# Requirements
Nvim >= 0.10. At least `n - 0.1` stable Nvim compatibility is guaranteed. You may use a `compat-nvim-0.X` tag for earlier Nvim versions, however they will receive no updates or support.
nvim-web-devicons is optional and used to display file icons. It requires a patched font. Your terminal emulator must be configured to use that font, usually "Hack Nerd Font"
# Installing
Please install via your preferred package manager. See Installation for some specific package manager instructions.
Major or minor versions may be specified via tags: `v ` e.g. `v1` or `v . ` e.g. `v1.23`
# Quick Start
Install the plugins via your package manager:
 `"nvim-tree/nvim-tree.lua"`
 `"nvim-tree/nvim-web-devicons"`
Disabling netrw is strongly advised, see :help nvim-tree-netrw
## Setup
Setup the plugin in your `init.lua`.
See :help nvim-tree-setup and :help nvim-tree-config-default
 [code] 
## Help
Open the tree: `:NvimTreeOpen`
Show the mappings: `g?`
## Custom Mappings
:help nvim-tree-mappings-default are applied by default however you may customise via :help nvim_tree.config `{on_attach}` e.g.
 [code] 
## Highlight Groups
See :help nvim-tree-highlight-groups
Run `:NvimTreeHiTest` to show all the highlights that nvim-tree uses.
They can be customised before or after setup is called and will be immediately
applied at runtime. e.g.
 [code] 
# Commands
See :help nvim-tree-commands
Some commands may be executed with a bang `!` or take a `path` string argument.
All commands execute public API.
Some basic commands:
`:NvimTreeFocus` :help nvim_tree.api.tree.open()
 [code] 
`:NvimTreeToggle` :help nvim_tree.api.tree.toggle()
 [code] 
`:NvimTreeFindFile` :help nvim_tree.api.tree.find_file()
 [code] 
`:NvimTreeCollapse` :help nvim_tree.api.tree.collapse_all()
 [code] 
# Roadmap
nvim-tree is stable and new major features will not be added. The focus is on existing user experience.
Users are encouraged to add their own custom features via the public API.
Development is focused on:
- Bug fixes
- Performance
- Quality of Life improvements
- API / Events
- Enhancements to existing features
- Multi-instance capabilities
# API
nvim-tree exposes a public API. This is non breaking, with additions made as necessary. See :help nvim-tree-api
See wiki Recipes and Tips for ideas and inspiration.
Please raise a feature request if the API is insufficient for your needs. Contributions are always welcome, see below.
You may also subscribe to events that nvim-tree will dispatch