NAME

vfu - VFU is console (text-mode) file manager for UNIX/Linux


SYNOPSIS

vfu [options]


DESCRIPTION

vfu has following features:

 - Fast one-key commands
 - Extended completition and wildcard expansion
 - Directory tree with sizes (incl. sizes cache)
 - File-type colorization (extension and type)
 - Archives support (TAR, TGZ, BZ2, and many more)
 - Simple FTP support through archive-like interface
 - Internal text/hex file viewer and editor (optional)
 - Extensive user-defined external support/utils
 - Regular expressions selection and search
 - Multiple file masks
 - One-key commands
 - and much more...


OPTIONS

 -h
prints help for command line options

 -i
runs vfu in interactive mode (can be used with \-d)

 -d path
changes working directory to `path'

 -r
rebuild directory tree

 -t
view directory tree only

These options are for using vfu in partial non-interactive mode.

 example: vfu -d /usr/local -i


CONFIGURATION

vfu configuration is divided in two parts (files):

vfu.conf

This file contains configuration for external editor and pager, favorite directories, file-type colorization. This is plain text file which format is described below. vfu only reads vfu.conf, it never writes in it!

vfu.options

This file contains all Options/Toggles which can be changed from inside vfu -- Options menu. vfu.options is binary file and is overwritten on vfu exit or on change option event! Deleting this file will reset vfu toggles to default values. vfu.options is not portable between vfu versions!


Location of vfu.conf

vfu.conf can be placed as any of:

 $HOME/.vfu/vfu.conf
 
 $HOME/$RC_PREFIX/vfu/vfu.conf  (if $RC_PREFIX is exported)
 
 /etc/vfu.conf
 
 /usr/local/etc/vfu.conf
 
 /usr/local/vfu.conf


Other files location

All other files including vfu.options are placed in:

 $HOME/.vfu/
 
 $HOME/$RC_PREFIX/vfu/

What is $RC_PREFIX and why to use it? Some more information for this can be found in the CONFIG file which is supplied with vfu package.


VFU.CONF

This is a sample copy of vfu.conf with appropriate comments:

 ############################################################################
 #
 # vfu.conf
 # VFU File Manager config file
 # (c) Vladi Belperchinov-Shabaski <cade@biscom.net> <cade@datamax.bg> 2000
 # http://www.biscom.net/~cade/vfu
 #
 ############################################################################
 #
 # All lines with first character # or ; are considered comments!
 # Comments may start on a separated new line only! (i.e. comment chars must 
 # be first in line)
 # This file is read-only! vfu never writes to it.
 #
 
 # comment out folowing lines to use vfu's internal editor and viewer
 # or you can toggle em run-time if you wish so
 Browser=less %f
 Editor=joe %f
 
 # alternative ones:
 #Editor=vi %f
 #Editor=~/apps/zed/zed %f
 
 # list of known archive types, these are just for recognizing
 # handling is done via rx_* scripts! but not by VFU itself
 Archive=*.zip
 Archive=*.tar.gz
 Archive=*.tgz
 Archive=*.tar.Z
 Archive=*.tar.bz2
 Archive=*.tar
 
 Archive=*.deb
 Archive=*.ftp
 
 #
 # if you'd like to restrict VFU when walking the directory tree --list paths
 # here. Note that you usually should add at least `/tmp/' and `/proc/'
 # format is comma separated list of directory prefixes
 #
 TrimTree=/dev/:/proc/:/tmp/:/dos/:/a/
 
 ############################################################################
 # user external commands (handlers), format is:
 # description,keyname,ext.mask,command
 #
 # to execute a command VFU will try to match both
 # key pressed and current file's extension!
 #
 # 1. `description' is just free text, keep it small, first letter can be 
 #              used as menu hotkey
 # 2. `keyname' is key you want to bind
 # 3. `ext.mask' is dot-separated list of required extensions and/or file 
 #              type strings
 # 4. `command' is the shell line you want to execute (as on the command 
 #              prompt for example)
 #
 # Available keys (keynames) are:
 #     ENTER, INSERT, F1..F10, @F1..@F10, #F1..#F10, ^F1..^F10
 #     (#=shift, @=alt, ^=ctrl, note: ^KEY and @KEY are not available under 
 #      Linux)
 #
 # NOTE: You can use keyname `MENU' to attach this command to the `UserMenu' 
 # (key U in vfu)
 # NOTE: `file type strings' are the strings that VFU shows in the `TP'column
 # in the file,
 #       list. Here is a list of the file type strings:
 #         **  -- executable file
 #         []  -- directory
 #         ->  -- symbolic link
 #         <>  -- symbolic link to directory
 #         ==  -- block device
 #         ++  -- character device
 #         ()  -- fifo (pipe)
 #         ##  -- socket
 #       You can mix file extensions with file type strings in the same mask.
 #       There is a special mask called `dotfiles' which will match dotfiles 
 #       (wiles named with leading dot -- `.dotname' )
 # NOTE: You cannot mask longer extensions like `.tar.gz' for example.
 #
 # `Command' string (shell line) can contain following macros:
 #       
 #         %f  -- replaced w. current filename (w/o path)
 #         %F  -- replaced w. full pathname of the current file
 #         %e  -- current file name without extension
 #         %E  -- current file extension
 #         %s  -- current file size
 #         %c  -- current path ( with slash at the end )
 #         %C  -- startup path ( with slash at the end )
 #         %R  -- re-read directory content after shell
 #         %?  -- prompt for user input and replace it in
 #         %i  -- simulates DownArrow after execution
 #         %n  -- don't clear and redraw screen on user external command
 #         %w  -- wait a key after shell. replaced w. `' (i.e. empty string)
 #         %x  -- replaced w. `x'.
 #         %_  -- use short file names (SFN) for %f and %F (DOS only)
 #
 
 # view JPEGs and GIFs -- you can move this to the SEE filters below
 ux=SEE JPEG,INSERT,.jpg.gif.,seejpeg -w -F G640x480x256 -c "%f"
 ux=SEE JPEG,ENTER,.JPG.jpg.gif.xpm.png.,qvv "%f" &
 
 # view HTML documents -- now moved to SEE filters below
 ux=SEE HTML,ENTER,.htm.html.shtml.,lynx "%F"
 ux=SEE HTML,INSERT,.htm.html.shtml.,lynx "%F"
 
 ux=PLAY WAV,ENTER ,.au.wav.WAV.,play "%f"   %n 1> /dev/null 2> /dev/null &
 ux=PLAY WAV,INSERT,.au.wav.WAV.,play "%f" %i%n 1> /dev/null 2> /dev/null &
 ux=PLAY MP3,ENTER,.mp3.,mpg123 "%f" 1> /dev/null 2> /dev/null &
 
 # view PDF and PS document
 ux=VIEW PDF,ENTER,.pdf.PDF.,acroread "%f"&
 ux=VIEW PS,ENTER,.ps.,gv "%f"&
 
 #
 ux=VIEW TAR,INS,.gz.,gunzip -c "%f" | tar tvf - | less
 
 # execute all files that have type `**' with ENTER
 ux=EXEC,ENTER,.**.,"%f"
 # same as the one before but executes command in background
 ux=EXEC,INSERT,.**.,"%f"&
 
 # view man pages -- note you can add and see filter for this
 ux=VIEW MAN,ENTER,.1.2.3.4.5.6.7.8.,nroff -man "%f" | less
 
 # play mpeg's
 ux=PLAY MPEG,ENTER,.mpg.MPG.mpeg.,plaympeg "%f"&
 ux=PLAY MPEG,INS,.mpg.MPG.mpeg.,plaympeg -2 "%f"&
 
 #
 # following user commands are bound to the UserMenu -- key `u'
 # note that instead of keyname there's `menu' string!
 # first letter is hotkey!
 #
 ux=tTEST Menu,menu,,echo USER MENU TEST OK %w
 ux=sSEE JPEG,menu,.jpg.gif.,seejpeg -w -F G800x600x32K -c "%f"
 ux=xSEE JPEG,menu,.jpg.gif.xpm.,xv "%f"
 ux=hSEE HTML,menu,.htm.html.shtml.,lynx "%F"
 
 #
 # aditional examples:
 #
 
 # edit with kwrite ( > /dev/null -- all os text messages )
 # NOTE: `*' means for any file (regardless type)
 ux=KWRITE EDIT,F6,*,kwrite "%f" 2> /dev/null 1> /dev/null %n &
 
 ############################################################################
 # the `see' file browser/viewer filters
 # the format is:
 # file-mask,command
 # 1. `file-mask' tells which files should be filtered
 # 2. `command' is executed and it's output is piped to temporary file which 
 #           is viewed by the viewer (You have to specify %f in the command)
 #
 see=*.html.gz,(gzip -dc "%f" > /tmp/vfu.temp.000.html; \
               lynx -dump /tmp/vfu.temp.000.html; rm /tmp/vfu.temp.000.html )
 see=*.[1234567890].gz,gzip -dc "%f" | nroff -man -
 see=*.gz,gzip -dc "%f"
 see=*.bz2,bzip2 -dc "%f"
 see=*.Z,gzip -dc "%f"
 see=*.[1234567890],nroff -man "%f"
 see=*.htm,lynx -dump "%f"
 see=*.html,lynx -dump "%f"
 see=*.shtml,lynx -dump "%f"
 see=*.dbf,dbfdump -2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 "%f"
 
 # this is a hack to view Qt man pages
 see=*.[1234567890][a-zA-Z]t?,nroff -man "%f"
 
 ############################################################################
 # external panelizers -- added to RescanMenu ( key ALT+R )
 # first letter is hotkey!
 # format is:
 # description,command
 # 1. `description' is free text describing panelizer command
 # 2. `command' is processed just like any other external command, so
 #              you can use the shell-macros described above. Note that 
 #              first letter of description is used for menu hotkey!
 #
 panelize=yFind all symlink files...,find . -type l
 panelize=lLocate file,locate %?
 
 ############################################################################
 # favorite directories -- press ALT+2 to change current dir to `/tmp' etc...
 #
 dir1=/home/cade/
 dir2=/tmp/
 dir3=/usr/src/
 dir4=/usr/local/lib/X11/icewm/
 # :)
 
 ############################################################################
 # file extensions colors, format is .ext.ext.ext....ext.
 # NOTE: this is extensions list, use dots to separate and at the end
 #
 cMAGENTA=.**.txt.TXT.rc.
 cGREEN=.jpg.jpeg.lbm.xpm.tif.gif.
 cCYAN=.[].<>.h.c.cpp.cc.cxx.pas.pl.
 cRED=.dotfiles.
 cYELLOW=.uc2.zip.arj.tgz.tar.rar.lzh.j.ha.lim.gz.Z.bz2.
 cBLUE=.==.++.().##.
 
 ############################################################################
 # high colors
 # NOTE: this mode currently is not available!
 #
 #chMAGENTA=
 #chGREEN=
 #chCYAN=
 #chYELLOW=.1.2.3.4.5.6.7.8.
 #chBLUE=
 
 ############################################################################
 #
 # EOF vfu.conf
 # VFU File Manager config file
 # Vladi Belperchinov-Shabaski <cade@biscom.net> <cade@datamax.bg>
 # http://www.biscom.net/~cade/vfu
 #
 ############################################################################


DISTRIBUTION

It is supposed that only source packages will be distributed. However sometimes binary packages will be released, but not often. VFU packages are named in this way:

 vfu-X.xx.src.tgz
 
source package for version X.xx

 vfu-X.xx.bin.platform.tgz

binary package for version X.xx for `platform' platform

examples:

 vfu-3.03.src.tgz

 vfu-3.03.bin.linux.glibc.tgz

 vfu-3.03.bin.linux.libc5.tgz

 vfu-3.03.bin.dos.tgz

All packages are TAR+GZIP .tgz, bz2 and zip are available on request.

NOTE: Always check HISTORY document -- it often contains some usefull notes!


FILES

 $HOME/$RC_PREFIX/vfu/vfu.conf

configuration, explained above

 $HOME/$RC_PREFIX/vfu/vfu.options

options, explained above

 $HOME/$RC_PREFIX/vfu/vfu.history

contains history lines

 $HOME/$RC_PREFIX/vfu/vfu.tree

contains directory tree

If you don't set $RC_PREFIX configuration files are:

 $HOME/.vfu/vfu.conf
 $HOME/.vfu/vfu.options
 $HOME/.vfu/vfu.history
 $HOME/.vfu/vfu.tree


TODO

see the TODO file


BUGS

unknown


AUTHOR

 Vladi Belperchinov-Shabanski "Cade"
 <cade@biscom.net> <cade@datamax.bg>
 http://www.biscom.net/~cade/
 http://www.biscom.net/~cade/vfu