svenfuchs / fs_tree

vim filesystem tree plugin in ruby

This URL has Read+Write access

Clemens Kofler and Sven Fuchs (author)
Wed Nov 11 15:32:10 -0800 2009
name age message
file README Wed Nov 11 11:39:26 -0800 2009 make H/<shift-left> close the parent dir recurs... [Clemens Kofler and Sven Fuchs]
file fs_tree.vim Tue Nov 10 23:39:10 -0800 2009 map <ctrl-f> to :FsTree (i.e. open/focus the tr... [Clemens Kofler and Sven Fuchs]
directory fs_tree/ Wed Nov 11 15:32:10 -0800 2009 reset parent to nil [Clemens Kofler and Sven Fuchs]
README
= FsTree

VIM Filesystem Tree plugin in Ruby.

Less than 1000 lines of unit-tested, readable code. Yes, VIM plugins *can*
be slick & sexy.


== Requirements

VIM Ruby support

== Installation

Copy or link fs_tree* to ~/.vim/plugin (i.e. both the fs_tree directory and the
fs_tree.vim plugin file).

== Usage

This will open the tree window:

  :FsTree

If you provide a path as an argument (you can use auto-completition here) then
FsTree will set the current working directory to that path and open with it as
a root path:

  :FsTree ~/Development/vim/fs_tree

The following keys work in the tree window:

  h, crsr-left   - close directory (if closed, closes the parent directory)
  l, crsr-right  - open directory (and move into it) or file
  H, shift-left  - recursively open directory
  L, shift-right - recursively close directory
  k, crsr-up     - navigate up
  j, crsr-down   - navigate down
  K, shift-up    - navigate to first sibling
  J, shift-down  - navigate to last sibling
  cr (enter)     - toggle (open/close) directory or open file
  left-click     - toggle (open/close) directory or open file
  s              - open a file with split
  v              - open a file with vsplit
  u              - make a directory the root directory
  d              - move the root directory one level up
  C              - change current working directory to root directory
  c              - change current working directory to selected directory
  R              - refresh
  q              - quit

The following groups are matched for highlighting (styling) the tree window.

  fsTree              - the whole tree window *
  fsDir               - any directory *
  fsDirOpen           - an open directory
  fsDirClosed         - a closed directory
  fsDirHandle         - the handle of any directory *
  fsDirHandleOpen     - an open directory handle
  fsDirHandleClosed   - a closed directory handle
  fsBufferLoaded      - a file that is loaded in any buffer
  fsDot               - marker for loaded files (hidden by default)

*) doesn't currently work. can you fix them?

== Todo

- map m to: minimize tree window
- figure out how to have a fs_tree filetype and syntax in order to hide the
  cursor locally in the fs_tree window
- figure out how to map cmd-click to just activating the window
  instead of opening the node
- extract config options

== License

Copyright (c) 2009 Sven Fuchs <svenfuchs@artweb-design.de>
http://www.opensource.org/licenses/mit-license.php