This is a fork from https://codeberg.org/micro-plugins/filemanager2 and will continue to be maintained as much as possible All credits and previous efforts goes to Nicolai Søborg, ryo-inagaki and taconi
A simple plugin that allows for easy navigation of a file tree.
This plugin contains the same functionality as filemanager, but with the commands 'rename', 'touch' and 'mkdir' working in micro v2. The adjustment of these commands was done by Ryo Inagaki and there is already a Pull Request however, PR's are not accepted for a while (there is an issue on this subject). This repository was created to make available the commands working, as soon as the pull request is accepted, this repository will be archived and deleted after a while.
If nerd fonts is installed and options filemanager2.nerdfonts
is true
Add this repo as a pluginrepos option in the ~/.config/micro/settings.json file (it is necessary to restart the micro after this change):
{
"pluginrepos": [
"https://codeberg.org/micro-plugins/filemanager2/raw/branch/main/repo.json"
]
}
In your micro editor press Ctrl-e and run command:
Run in your shell
micro -plugin install filemanager2
or run this and restart Micro
> plugin install filemanager2
The top line always has the current directory's path to show you where you are.
The ..
near the top is used to move back a directory, from your current position.
All directories have a /
added to the end of it, and are syntax-highlighted as a special
character.\
If the directory is expanded, there will be a +
to the left of it.
If it is collapsed there will be a -
instead.
NOTE: If you change files without using the plugin, it can't know what you did. The only fix is to close and open the tree.
Option | Purpose | Default |
---|---|---|
filemanager2.showdotfiles |
Show dotfiles (hidden if false) | true |
filemanager2.showignored |
Show gitignore'd files (hidden if false) | true |
filemanager2.compressparent |
Collapse the parent dir when left is pressed on a child file | true |
filemanager2.foldersfirst |
Sorts folders above any files | true |
filemanager2.openonstart |
Automatically open the file tree when starting Micro | false |
filemanager2.nerdfonts |
Use nerd fonts icons | false |
The keybindings below are the equivalent to Micro's defaults, and not actually set by the plugin. If you've changed any of those keybindings, then that key is used instead.
If you want to keybind any of the operations/commands, bind to the labeled API in the table below.
Command | Keybinding(s) | What it does | API for bindings.json |
---|---|---|---|
tree |
- | Open/close the tree | filemanager2.toggle_tree |
- | Tab & MouseLeft | Open a file, or go into the directory. Goes back a dir if on .. |
filemanager2.try_open_at_cursor |
- | → | Expand directory in tree listing | filemanager2.uncompress_at_cursor |
- | ← | Collapse directory listing | filemanager2.compress_at_cursor |
- | Shift ⬆ | Go to the target's parent directory | filemanager2.goto_parent_dir |
- | Alt Shift { | Jump to the previous directory in the view | filemanager2.goto_next_dir |
- | Alt Shift } | Jump to the next directory in the view | filemanager2.goto_prev_dir |
rm |
- | Prompt to delete the target file/directory your cursor is on | filemanager2.prompt_delete_at_cursor |
rename |
- | Rename the file/directory your cursor is on, using the passed name | filemanager2.rename_at_cursor |
touch |
- | Make a new file under/into the file/directory your cursor is on, using the passed name | filemanager2.new_file |
mkdir |
- | Make a new directory under/into the file/directory your cursor is on, using the passed name | filemanager2.new_dir |
-
rename
,touch
, andmkdir
require a name to be passed when calling.
Example:rename newnamehere
,touch filenamehere
,mkdir dirnamehere
.
If the passed name already exists in the current dir, it will cancel instead of overwriting (for safety). -
The Ctrl w keybinding is to switch which buffer your cursor is on.
This isn't specific to the plugin, it's just part of Micro, but many people seem to not know this.