📈 GH Trending Explorer 🎲 Surprise me

← all repos

stevearc / oil.nvim

git clone https://github.com/stevearc/oil.nvim.git v2.16.0 · 4mo ago 🔥 on GitHub Trending today

Neovim file explorer: edit your filesystem like a buffer

—
stars, 24h
+14
stars, 7 days · #1,563
—
stars, 30 days
7.0k
★ total · +0% this week
259
forks · 163 open issues

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

LanguageLua
LicenseMIT
Created2022-12-15 (3y ago)
Last push8d ago
Watchers16
OwnerUser

Seen on GitHub Trending

  • 2026-10-20 — #5 weekly in lua · +14 ★

GitHub topics

Links

README excerpt
# oil.nvim
A vim-vinegar like file explorer that lets you edit your filesystem like a normal Neovim buffer.
https://user-images.githubusercontent.com/506791/209727111-6b4a11f4-634a-4efa-9461-80e9717cea94.mp4
- Requirements
- Installation
- Quick start
- Options
- Adapters
- Recipes
- Third-party extensions
- API
- FAQ
## Requirements
- Neovim 0.10+ (for older versions, use a nvim-0.x branch)
- Icon provider plugin (optional)
 - mini.icons for file and folder icons
 - nvim-web-devicons for file icons
## Installation
oil.nvim supports all the usual plugin managers
 lazy.nvim 
 [code] 
 Packer 
 [code] 
 Paq 
 [code] 
 vim-plug 
 [code] 
 dein 
 [code] 
 vim.pack (Neovim 0.12+) 
 [code] 
 Pathogen 
 [code] 
 Neovim native package 
 [code] 
## Quick start
Add the following to your init.lua
 [code] 
Then open a directory with `nvim .`. Use ` ` to open a file/directory, and `-` to go up a directory. Otherwise, just treat it like a normal buffer and make changes as you like. Remember to `:w` when you're done to actually perform the actions.
If you want to mimic the `vim-vinegar` method of navigating to the parent directory of a file, add this keymap:
 [code] 
You can open a directory with `:edit ` or `:Oil `. To open oil in a floating window, do `:Oil --float `.
## Options
 [code] 
## Adapters
Oil does all of its filesystem interaction through an _adapter_ abstraction. In practice, this means that oil can be used to view and modify files in more places than just the local filesystem, so long as the destination has an adapter implementation.
Note that file operations work _across adapters_. This means that you can use oil to copy files to/from a remote server using the ssh adapter just as easily as you can copy files from one directory to another on your local machine.
### SSH
This adapter allows you to browse files over ssh, much like netrw. To use it, simply open a buffer using the following name template:
 [code] 
This may look familiar. In fact, this is the same url format that netrw uses.
Note that at the moment the ssh adapter does not support Windows machines, and it requires the server to have a `/bin/sh` binary as well as standard unix commands (`ls`, `rm`, `mv`, `mkdir`, `chmod`, `cp`, `touch`, `ln`, `echo`).
### S3
This adapter allows you to browse files stored in aws s3. To use it, make sure `aws` is setup correctly and then simply open a buffer using the following name template:
 [code] 
Note that older versions of Neovim don't support numbers in the url, so for Neovim 0.11 and older the url starts with `oil-sss`.
## Recipes
- Toggle file detail view
- Show CWD in the winbar
- Hide gitignored files and show git tracked hidden files
- Use FreeDesktop trash on MacOS
## Third-party extensions
These are plugins maintained by other authors that extend the functionality of oil.nvim.
- oil-git-status.nvim - Shows git status of files in statuscolumn
- oil-git.nvim - Shows git status of files with colour and symbols
- oil-git.nvim - Async git status