vim-dirvish
                                
                                 vim-dirvish copied to clipboard
                                
                                    vim-dirvish copied to clipboard
                            
                            
                            
                        Directory viewer for Vim :zap:
dirvish.vim :zap:
Path navigator designed to work with Vim's built-in mechanisms and complementary plugins.
 
Features
- Simple: Each line is just a filepath
- Flexible: Mash up the buffer with :g, automate it withg:dirvish_mode
- Safe: Never modifies the filesystem
- Non-intrusive: Impeccable defaults. Preserves original/alternate buffers
- Fast: 2x faster than netrw
- Intuitive: Visual selection opens multiple files
- Powerful: :Shdo[!]generates shell script
- Reliable: Less code, fewer bugs (96% smaller than netrw). Supports Vim 7.2+
Concepts
Lines are filepaths
Each Dirvish buffer contains only filepaths, hidden by conceal.
- Use plain old yto yank a path, then feed it to:ror:eor whatever.
- Sort with :sort, filter with:global. HitRto reload.
- Append to quickfix (:'<,'>caddb), iterate with:cdo.
- Script with :Shdo[!].
- :set ft=dirvishon any buffer to enable Dirvish features:- git ls-files | vim +'setf dirvish' -
Buffer name is the directory name
So commands and plugins that work with @% and @# do the Right Thing.
- Create directories:
:!mkdir %foo
- Create files:
:e %foo.txt
- Use @#to get the Dirvish buffer from a:Shdobuffer::Shdo mkdir <C-R>#.bk Z!
Edit Dirvish buffers
For any purpose. It's safe and reversible.
- Use :sortor:globalto re-arrange the view, delete lines withd, etc. Then:%Shdothe result.
- Pipe to :!to see inline results::'<,'>!xargs du -hs
- Type uto undo, orRto reload.
Work with the :args list
The arglist is an ad-hoc list of filepaths.
- Type xto add files to the (window-local) arglist.
- Iterate with standard commands like :argdo, or plugin features like]a.
- Run :Shdo!(mapping:[count].) to generate a shell script from the arglist.
Extensions
Some people have created plugins that extend Dirvish:
- remote-viewer - Browse ssh://and other remote paths
- vim-dirvish-git - Show git status of each file
- vim-dirvinist - List files defined by projections
- vim-dirvish-dovish - Add vim-style file manipulation commands
Credits
Dirvish was originally forked (and completely rewritten) from filebeagle by Jeet Sukumaran.
Copyright 2015 Justin M. Keyes.