stevearc / oil.nvim
git clone https://github.com/stevearc/oil.nvim.git
v2.16.0 · 5mo ago
🔥 on GitHub Trending today
Neovim file explorer that lets you edit the filesystem by modifying a normal buffer and saving.
Why you might care
Oil replaces vim-vinegar-style netrw browsing with a buffer you edit directly: rename, delete, move, or create files with normal Vim motions, then :w to apply. It also supports remote locations through adapters, including ssh and S3, so file operations can cross between local and remote paths.
+1
stars, 24h · #13,889
+9
stars, 7 days · #12,227
+53
stars, 30 days · #11,912
7.0k
★ total · +0% this week
260
forks · 164 open issues
Star history (as recorded here)
LanguageLua
LicenseMIT
Created2022-12-15 (3y ago)
Last push11d ago
Watchers16
OwnerUser
Seen on GitHub Trending
- 2026-10-23 — #15 monthly in lua · +53 ★
- 2026-10-23 — #12 weekly in lua · +8 ★
- 2026-10-22 — #9 weekly in lua · +9 ★
- 2026-10-21 — #5 weekly in lua · +10 ★
- 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
Blurb generated by claude-haiku-5-5 today. Star deltas marked ~ are extrapolated from partial history.