[](https://github.com/echasnovski/mini.nvim/blob/main/LICENSE)
### Navigate and manipulate file system
See more details in [Features](#features) and [help file](../doc/mini-files.txt).
---
⦿ This is a part of [mini.nvim](https://github.com/echasnovski/mini.nvim) library. Please use [this link](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-files.md) if you want to mention this module.
⦿ All contributions (issues, pull requests, discussions, etc.) are done inside of 'mini.nvim'.
⦿ See the repository page to learn about common design principles and configuration recipes.
---
If you want to help this project grow but don't know where to start, check out [contributing guides of 'mini.nvim'](https://github.com/echasnovski/mini.nvim/blob/main/CONTRIBUTING.md) or leave a Github star for 'mini.nvim' project and/or any its standalone Git repositories.
## Demo
https://github.com/echasnovski/mini.nvim/assets/24854248/530483a5-fe9a-4e18-9813-a6d609fc89ff
## Features
- Navigate file system using column view (Miller columns) to display nested directories. See `*MiniFiles-navigation*` tag in help file for overview.
- Opt-in preview of file or directory under cursor.
- Manipulate files and directories by editing text buffers: create, delete, copy, rename, move. See `*MiniFiles-manipulation*` tag in help file for overview.
- Use as default file explorer instead of `netrw`.
- Configurable:
- Filter/prefix/sort of file system entries.
- Mappings used for common explorer actions.
- UI options: whether to show preview of file/directory under cursor, etc.
- Bookmarks for quicker navigation.
See `*MiniFiles-examples*` tag in help file for some common configuration examples.
Notes:
- This module is written and thoroughly tested on Linux. Support for other platform/OS (like Windows or MacOS) is a goal, but there is no guarantee.
- Works on all supported versions but using Neovim>=0.9 is recommended.
- This module silently reacts to not enough permissions:
- In case of missing file, check its or its parent read permissions.
- In case of no manipulation result, check write permissions.
## Dependencies
For full experience needs (still works without any of suggestions):
- Enabled ['mini.icons'](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-icons.md) module to show icons near file/directory names. Can fall back to using [nvim-tree/nvim-web-devicons](https://github.com/nvim-tree/nvim-web-devicons) plugin.
## Quick start
### Navigation
- Run `:lua MiniFiles.open()`.
- Navigate:
- Press `j`/`k` to navigate down/up.
- Press `l` to expand entry under cursor: show directory or open file in the most recent window.
- Press `h` to go to parent directory.
- Type `m| Github repo | Branch | Code snippet |
|---|---|---|
| 'mini.nvim' library | Main | Follow recommended 'mini.deps' installation |
| Stable | ||
| Standalone plugin | Main | add('echasnovski/mini.files') |
| Stable | add({ source = 'echasnovski/mini.files', checkout = 'stable' }) |
| Github repo | Branch | Code snippet |
|---|---|---|
| 'mini.nvim' library | Main | { 'echasnovski/mini.nvim', version = false }, |
| Stable | { 'echasnovski/mini.nvim', version = '*' }, |
|
| Standalone plugin | Main | { 'echasnovski/mini.files', version = false }, |
| Stable | { 'echasnovski/mini.files', version = '*' }, |
| Github repo | Branch | Code snippet |
|---|---|---|
| 'mini.nvim' library | Main | Plug 'echasnovski/mini.nvim' |
| Stable | Plug 'echasnovski/mini.nvim', { 'branch': 'stable' } |
|
| Standalone plugin | Main | Plug 'echasnovski/mini.files' |
| Stable | Plug 'echasnovski/mini.files', { 'branch': 'stable' } |