vfu - VFU is console (text-mode) file manager for UNIX/Linux
vfu [options]
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...
-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
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!
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
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.
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 # ############################################################################
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!
$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
see the TODO file
unknown
Vladi Belperchinov-Shabanski "Cade" <cade@biscom.net> <cade@datamax.bg> http://www.biscom.net/~cade/ http://www.biscom.net/~cade/vfu