• Stars
    star
    1,120
  • Rank 40,533 (Top 0.9 %)
  • Language
    Vim Script
  • License
    Other
  • Created over 9 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Directory viewer for Vim âš¡

dirvish.vim âš¡

Path navigator designed to work with Vim's built-in mechanisms and complementary plugins.

dirvish

Features

  • Simple: Each line is just a filepath
  • Flexible: Mash up the buffer with :g, automate it with g: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 y to yank a path, then feed it to :r or :e or whatever.
  • Sort with :sort, filter with :global. Hit R to reload.
  • Append to quickfix (:'<,'>caddb), iterate with :cdo.
  • Script with :Shdo[!].
  • :set ft=dirvish on 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 :Shdo buffer:
    :Shdo
    mkdir <C-R>#.bk
    Z!
    

Edit Dirvish buffers

For any purpose. It's safe and reversible.

  • Use :sort or :global to re-arrange the view, delete lines with d, etc. Then :%Shdo the result.
  • Pipe to :! to see inline results:
    :'<,'>!xargs du -hs
    
  • Type u to undo, or R to reload.

Work with the :args list

The arglist is an ad-hoc list of filepaths.

  • Type x to 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:

Credits

Dirvish was originally forked (and completely rewritten) from filebeagle by Jeet Sukumaran.

Copyright 2015 Justin M. Keyes.