Vifm is a ncurses based file manager with vi like keybindings. If you
use vi, vifm gives you complete keyboard control over your files without
having to learn a new set of commands.
November 15, 2011
vifm v0.7.1
Major changes since v0.7.0:
- Changed meaning of :split command (so replace it with :vsplit in your vifmrc).
- Added backgrounding of :copy, :move, :delete, ga and gA commands.
- Added horizontal splitting and keys to control size of the panes.
- Added less-like view mode.
- Made some changes to the Vim plugin.
- Windows version was made much more usable.
Changes in details
:set command and options:
- Added 'scrollbind', 'wrapscan', 'incsearch', 'cpoptions', 'laststatus' and 'tabstop' options.
- Make 'ignorecase' and 'smartcase' affect f and F.
- Don't use position in the view on ' key, when 'autochpos' is off.
Angle bracket notation:
- Added support for more angle bracket notations in mappings (<bs>, <tab>, <s-tab>, <home>, <end>, <left>, <right>, <up>, <down>, <pageup>, <pagedown>, <del>, <delete>, <m-a>, <m-b>, ..., <m-z>).
- Added <s-f1>, ..., <s-f12>, <a-f1>, ..., <a-f12>, <c-f1>, ..., <c-f12>, only for Windows.
- Added <a-X> as synonyms for <m-X> (where X is a key).
- Added angle bracket notation <c-s-X> and <s-c-X> as synonyms for <c-X>.
- Added Ctrl + Alt + letter combinations, only for *nix.
Command-line mode related changes:
- Added :split! to toggle between only and split view.
- Added :file to quick run one of associated commands.
- Added backgrounding of :copy, :move and :delete commands.
- Added :delete!.
- Added :execute, :source commands.
- Added support for using environment variables as :cd or :pushd arguments.
- Added support for :substitute command without arguments.
- Added notation to run internal vifm commands from user defined commands.
- Allowed exclamation mark for :view command (to prevent view closing).
- Allowed question mark for :mark command (to prevent bookmark overwriting).
Completion:
- Added completion of environment variables (:cd, :pushd, :! and :!!).
Normal and visual modes related changes:
- Added '(' and ')' keys for normal and visual modes.
- Added Ctrl-A and Ctrl-X keys (normal and visual modes).
- Added e key for normal mode.
- Made i key work in visual mode.
- Made ga and gA work in background.
- Better cW command.
- Clean selection after i key in normal mode.
Menus and dialogs:
- Added year in the file info dialog (on Ctrl-G).
- Added zh, zl, zH and zL keys for the menus (horizontal scrolling).
- Added ZQ and ZZ keys to close menus and dialogs.
TUI (Terminal User Interface):
- Added horizontal splitting of views (changed :split command, added :vsplit command, changed Ctrl-w s mapping).
- Added Ctrl-w j and Ctrl-w k keys.
- Added Ctrl-w <, Ctrl-w >, Ctrl-w + and Ctrl-w - keys.
- Added Ctrl-w | and Ctrl-w _ keys.
File cloning:
- Don't change file extension on cloning.
- Move cursor to clone of current file after file cloning.
- Smarter file name generation on cloning.
- Made C command accept count.
Only on Windows:
- Added kind of portable mode on Windows.
- Make macros expand to paths with forward slashes on Windows.
- Better check if directory was changed on Windows.
- Show all shares on Windows (including private ones).
- Fixed a lot of bugs on Windows.
For Vim:
- Added g:vifm_exec variable for the plugin.
- Added ftdetect plugin for vim (now there is no need for modelines or changing .vimrc).
- Allowed arguments for plugin's commands.
- Added more tags to the documentation in vim-help format.
Other changes:
- Added Ctrl-n (j) and Ctrl-p (k) keys.
- Added view mode (see documentation).
- Added -c and + command line arguments.
- Added support of [count] for / and ?.
- Don't clear terminal title on exit.
- Warn about symbolic links are not available.
- Don't show current file as selected after executing a :command and resizing terminal while it works.
- Show progress message (e.g. on :copy) after terminal is resized.
- Made some messages about operations more correct.
Vifm-0.7.1.tar.bz2
Vifm-win32-0.7.1-binary.zip
September 29, 2011
vifm v0.7.0 is out!
And as it was promised vifm is back on Windows!
This release breaks compatibility a little, which was done intensionally to make vifm more vi-like. I hope that wont make too much discomfort for users, at least I tried to reduce discomfort as much as I can. In particular, an utility program named vifmrc-converter is shipped with vifm now. It's main purpose is to automatically convert configuration files (vifmrc, vifminfo, startup and colorschemes files) to new format. You don't have to run it by yourself, vifm will do this for you after asking some questions at first startup.
Here are the main changes by categories.
Configuration:
- Changed format of ~/.vifm/vifmrc and ~/.vifm/vifminfo files.
- Removed support of startup file, all commands will be automatically moved to the vifmrc file.
- Added support for multi line commands in the vifmrc (ex-startup) file.
- Now users can place scripts for vifm to ~/.vifm/scripts, vifm modifies it's PATH environment variable to let user run scripts without specifying full path.
- Now vifm also accepts paths to files as the startup arguments and --no-configs option.
Normal and visual modes related changes:
- Added gf, al, rl and cl commands for dealing with symbolic links.
- Added gu and gU commands (and their variations).
- Added gs command to work with t selection like gv with visual mode selection.
- Made C handle selection, check read permission and work in visual mode.
- Changed the way l key handles selection and made it work in visual mode.
Command-line mode related changes:
- Removed :cmdhistory command, use :history cmd or ":history :" instead.
- Added :noremap, :cnoremap, :nnoremap, :vnoremap, :unmap, :cunmap, :nunmap and :vunmap commands.
- Added :filetype, :filextype and :fileviewer commands.
- Added :find and :grep commands.
- Added :substitute and :tr commands.
- Added :clone, :copy, :move, :alink and :rlink commands.
- Added :chmod, :chown, :mkdir and :touch commands.
- Added :mark, :delmarks, :comclear, :highlight, :restart and :messages command.
- Documented command line keys and marked which :commands accept ranges.
- Now vifm understands user name after tilde in paths.
- Let user use short forms of user-defined commands with "!".
Completion:
- Added completion for co, cg, cw and cW commands.
- Sort completion items.
- Shift-Tab command line key to perform completion in reversed order.
- Added Ctrl-_ command-line key to reject completion.
Macros:
- Added filename modifiers (:p, :~, :., :h, :t, :r, :e, :s and :gs).
- Added %S and %M macros.
- Added macros that are expanded to paths enclosed in double quotes (%"c, %"C, %"f, %"F, %"b, %"d and %"D).
- Handle %m, %M, %s and %S in the :! command.
:set command and options:
- Removed 'savelocation' option. Use :set vifminfo+=dhistory.
- Added 'wildmenu', 'ignorecase', 'smartcase', 'hlsearch', 'vifminfo', 'shell', 'vixcmd', 'scrolloff', 'timeoutlen', 'autochpos','gdefault', 'slowfs' options.
- Added abbreviations for options.
- Added support for using ':' instead of '='.
- Support for ':set' and ':set all' commands.
- Made ':set option' equivalent to ':set option?' for all types of options except boolean.
- Made 'history' option control search, command line and prompt histories.
- Better 'sort' option (support by multiple sort keys, added iname key).
- Made 'vicmd' and 'vixcmd' understand & at the end.
- :set command now understands & (reset option to its default value).
Color scheme related changes:
- All color schemes are stored under the ~/.vifm/colors/ directory, each color scheme in its own file.
- Color scheme file is a list of commands. All command-line commands are handled, but only :highlight commands are really useful here.
- Added colors for current top line, other top line, status line, error messages in the status bar, broken links and FIFO files.
- Now maximum number of color schemes is unlimited even on 8-color terminals (there was a limit of 5 color schemes for such terminals before).
Only on Windows:
- gl normal mode key.
- UNC names support.
- :volumes command.
For Vim:
- Added g:vifm_term variable for the plugin.
- Added vifmrc syntax and filetype files for Vim.
- Tags for some items in the help file for Vim.
Other changes:
- Let user go through directories with execute access, but no read access.
- Made filetype understand star as in globals.
- Removed duplicates from command and directory history.
- Made directory, command line and search histories as well as dirstack and registers persistent (when 'vifminfo' option contains appropriate value).
- Show search matches in the menus.
- Now keys can be used in mappings and mapping of keys like y, d or m works right.
- Modify terminal emulator title.
- Don't quit when terminal is too small (print message and ignore input).
- Fixed bugs.
Vifm-0.7.0.tar.bz2
Vifm-win32-0.7.0-binary.zip
July 20, 2011
Main changes in vifm-0.6.3:
- Added another format for filetype (FUSE_MOUNT2). Added %CLEAR FUSE mount parameter. See vifmrc for details.
- Added %c and %C macros (current file of current and other directories, not selected file or files).
- Added :rename command (opens vi to let you edit names for selected file or files).
- Added undo list (u, Ctrl-R and :undolist commands; 'undolevels' option).
- Added small FAQ.
- Added gA command (like ga, but forces update).
- Added whole line comments (can be useful in startup file).
- Added :dirs command (shows directory stack).
- Added 'sortnumbers', 'followlinks', 'fusehome', 'confirm' and 'history' options.
- Added dialog to ask user about backwards range in command.
- Added some vi like keys for menus, dialogs and visual mode.
- Added 'savelocation' option (start vifm in the last visited directory) which is off be default thus returning old behaviour when vifm is started with no argument.
- Added gv command for visual mode.
- Enter key in visual mode will leave it saving selection.
- Now location of panes is saved in ~/.vifm/vifminfo instead of ~/.vifm/vifmrc
- Now builtin keys can be remapped.
- Don't replace escape sequences for :! and :!! commands.
- More vi like completion and history in command line and search.
- Some improvements for :filter command.
- Some improvements for command ranges.
- Now ranges modify %f macro for user defined commands.
- Made f and F work with wide characters.
- Made option parser handle quotes.
- Rename files in Trash (to avoid name conflicts).
- Don't terminate background processes on vifm exit.
- Remove files that are in the Trash on :empty command from all registers.
- Don't ignore Ctrl-Z.
- Don't clear screen on shellout.
- Updated Vim plugin.
- Fixed a lot of bugs.
See ChangeLog for details. Also see THANKS file that was added in
this release.
Vifm-0.6.3.tar.bz2
Vifm-win32-0.5.2-binary.zip
July 02, 2011
Most of programs don't write their configuration files themselves,
but vifm does. And I want to ask users about this a bit strange
behaviour. Do you think that vifm should write vifmrc on exit?
Or maybe it should write some minimum to a separate file like Vim
does?
If you have any ideas
how this should be implemented (with backward compatibility of
course) in vifm 0.7 please read small discussion
here
and write your opinion on the
forum
(it's opened for anonymous users).
June 24, 2011
Broken %F macro
Vifm-0.6.2 has broken %F user command macro. It doesn't add path of
other pane. Sorry. It's already fixed in the repositories.
P.S. Vifm-0.6.3 is almost ready and will be available soon. Besides
bug fixes it will provide more convenient way to rename multiple
files, the undo list and a second format of FUSE mount for easier
use of sshfs with vifm.
June 19, 2011
Vifm-0.6.2.
This release fixes some bugs and adds several commands for different
modes.
Main changes:
- Added map menus (run :cmap, :vmap, :nmap commands without
arguments).
- Added :cmdhistory command.
- Added 'fastrun' option.
- Added o and O keys for Visual mode (go to other end of
selection).
- Added gv Normal mode command.
- Added support for spaces and functional keys in mappings
(<space> and <f0> - <f63>).
- Added mimetype to fileinfo dialog.
- Added %b command macro.
- Implemented :yank and :colorscheme commands.
- Made filetype menu editable.
- Restore SIGINT (Ctrl+C) default behaviour on shellout.
- Replace escape sequences in quick view output with ^foo.
- Give options if a file already exists in destination
directory.
- Unmount all FUSE mounts on exit.
- More verbose version information.
- Added Ctrl-C key handling to error message dialog.
- Use file command when GTK+ and libmagic are disabled.
- Better error messages.
- Use ga command results to sort by size.
- Fixed paths in config.c to work with non standard install
prefix.
- Fixed several bugs with command completion and terminal
resizing.
See ChangeLog for details and AUTHORS for information about authors.
Vifm-0.6.2.tar.bz2
Vifm-win32-0.5.2-binary.zip
June 11, 2011
Vifm-0.6.1 is available.
Windows version remains unchanged for now. I'm planning to use one
code base for both *nix and Windows platforms and it would take
some time to do that.
Major changes since 0.5:
- Added support for user mappings
- Added file selectors (like motions and text-objects)
- Improved sort dialog
- Added filetype detection using GTK+ or libmagic (:file)
- Added directory stack (:pushd, :popd)
- Added completion for :! and :!! commands
- Added custom file viewers (:view)
- Added startup file
- Better utf8 support
- Added :set command and options
See ChangeLog for details.
Vifm-0.6.1.tar.bz2
Vifm-win32-0.5.2-binary.zip
August 7, 2009
Vifm-0.5 is available.
This release is mainly user contributed patches and a new port
for Windows. A filetype setting was added to allow the
mounting of files with fuse-zip and other filesystems based
on fuse. The :com input was changed to accept wide characters.
The Windows port is missing some of the features of the Unix
version but it is useful and stable enough for an initial
release. The following commands were added in the Windows
port.
:copy
:move
:volume - list mounted volumes.
Vifm-0.5.tar.bz2
Vifm-win32-0.5.2-binary.zip
Git Repositories
vifm - Currently the main development branch.
git://vifm.git.sourceforge.net/gitroot/vifm/vifm
vifm-w32 - Windows port of vifm.
git://vifm.git.sourceforge.net/gitroot/vifm/vifm-w32