278

GitHub - justinmk/vim-dirvish: Directory viewer for Vim

 6 years ago
source link: https://github.com/justinmk/vim-dirvish
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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 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.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK