Fm
An extensible and minimalistic file manager for Vim.
Install
Use your plugin manager of choice to install this plugin.
Plugin manager | Command |
---|---|
Vim Plug | Plug 'shoumodip/fm.vim' |
Vundle | Plugin 'shoumodip/fm.vim' |
Dein | call dein#add('shoumodip/fm.vim') |
Minpac | call minpac#add('shoumodip/fm.vim') |
Or use the builtin packages feature.
Editor | Path |
---|---|
Vim | cd ~/.vim/pack/plugins/start |
NeoVim | cd ~/.config/nvim/pack/plugins/start |
$ git clone https://github.com/shoumodip/fm.vim
Usage
Run :Ex
and press C-h. It should display a help window. Here is the online version.
Actions | Others |
---|---|
D Delete | x Mark/unmark item |
R Rename | X Toggle marks |
c Copy to a directory | l Open item |
m Move to a directory | h Go up one directory |
p Change permissions | i Start edit mode |
s Execute shell commands | q Quit |
g Run the next action globally | r Refresh |
f Create a file | Enter Open item |
d Create a directory | BackSpace Go up one directory |
- Selected Items: The marked items or the items under the cursor
- Action: Operation on selected items in the current directory
- Global Action: Operation on all selected items in the current buffer
Ex-mode API
Same as Netrw.
Command | Description |
---|---|
Ex[plore] |
Open Fm in the current window |
Sex[plore] |
Open Fm in a split |
Vex[plore] |
Open Fm in a vertical split |
Tex[plore] |
Open Fm in a new tab |
Configuration
Global Fm options follow the naming scheme of g:fm#OPTION
. When a Fm buffer is opened, the state of the global options at that instant is copied over to buffer local variables. The global option ceases to have any effect in that particular buffer, it is now the job of the buffer level options. They follow the naming scheme of b:fm_OPTION
. Even though the global options don't have any effect on already open buffers, they will affect the subsequent Fm buffers.
g:fm#ls_arguments
The arguments supplied to ls
.
- Type:
string
- Default:
-vp --group-directories-first
g:fm#hidden
Whether dotfiles are hidden.
- Type:
boolean
- Default:
v:false
Fm API
Check out autoload/fm.vim
. Every single function is documented with jsdoc
style parameter annotations.
Plugins
The shell command (s) feature of Fm has support for vim-dispatch and asyncrun.vim