Vifm v0.8July 09, 2015
New version brings several useful improvements of different kinds. The most substantial addition is custom views that allow one to combine files from several directories in one view, which in turn enables processing of search/grep/etc. results similar to handling contents of a regular directory.Thanks to everyone who was reporting issues during beta period.
Main changes
- Added filename specific highlight (with a script to convert ls options).
- Added custom views, which contrary to regular views can contain files that do not belong to the same directory.
- Added job bar to display active backgrounded file operations.
- Added command-line mode abbreviations.
- Added global configuration and color schemes directory.
- Added live search match highlighting.
- Added optional per-file progress for file operations.
- Added full path patterns (
{{globs}}and//regexp//). - Added command-line options to control file/directory selection and selection processing to make it easier to use vifm as a file picker.
- Color schemes got ".vifm" extension, but the old-style names will still work for now.
- XDG specification support.
- Ability to use terminal applications to preview graphics (e.g.
w3mimgdisplay).
Demonstration of new features...
Hover mouse and wait a bit to start animations.|
File highlight defined by names ![]() |
Views of files from different directories ![]() |
Bar of jobs running in background ![]() |
Command-line abbreviations in action ![]() |
Exact search match highlighting ![]() |
Dialog with details of file operations ![]() |
Picking files ![]() |
Previewing images (wiki) ![]() |
More detailed list of changes...
File operations:- Added per-file overwrite confirmation on directory merging (thanks to willemw12).
- Added detailed list of errors when
'syscalls'is used (thanks to willemw12).
- Added F key to less-like (file view) mode, which acts similar to
tail -For F key in less (thanks to Daniel Dettlaff, a.k.a. dmilith). - Added b key to menu mode that creates custom view filled with menu items filtering out those that are not paths.
- Added zd normal and visual modes key to exclude items from custom views.
- Optional per-file progress in dialog mode activated by hitting i while operation is being performed.
- Added
'chaselinks'option to automatically expand all symbolic links in path of a view (might not work on Windows) (thanks to filterfalse). - Added
'mintimeout'option. It enables controlling responsiveness on external events by Vifm (thanks to hofheinz). - Added
'wordchars'option to specify which characters in command-line mode should be considered as part of a word (thanks to filterfalse). - Added
^=operation for charset options. - Added
%[and%]macros for'statusline'/'ruler'(thanks to ranousse). - Added
pto'shortmess'option to control tilde shortening of path in view titles (thanks to Martin Fischer). - Changed default value of
'trashdir'from$VIFM/Trashto%r/.vifm-Trash,$VIFM/Trash(thanks to Joseph LP, a.k.a. ootput). - Normalized sorting keys/view column names:
type->dir, display real mode in octal formode, maketypeactually display file type (asmodedid before) (thanks to Michal Belica, a.k.a. beli-sk). - United last pattern of
:substitutecommand with search history (thanks to filterfalse).
- Added
:highlight {pattern}for filename specific highlight (thanks to Ink, a.k.a. inknoir, filterfalse and Michael Maddern, a.k.a. madders). - Added
:cabbrev,:cnoreabbrevand:cunabbrevcommands to manage command-line mode abbreviations (thanks to filterfalse). - Added Ctrl-X / (slash) key to that inserts last search pattern into current cursor position (thanks to filterfalse).
- Added Ctrl-] key to trigger abbreviation expansion.
- Added single-argument form of
:file[x]typeand:fileviewercommands that lists (in menu mode) currently registered patterns that match specified file name. - Added
:cq[uit]command to exit with non-zero exit code and also abort directory choosing (thanks to Jeet Sukumaran, a.k.a. jeetsukumaran). - Added
:trashes?to display sizes of each non-empty trash directories (thanks to Svyatoslav Mishyn, a.k.a. juef). - Added regexp patterns to
:file[x]typeand:fileviewercommands (thanks to filterfalse). - Added
:redr[aw]command to force immediate redraw (thanks to filterfalse). - Allow non-printable characters to be arguments of
:commands(thanks to filterfalse). - Extended
:synccommand to support selective synchronization (user can choose among location, cursor position, local options and filters) (thanks to filterfalse).
- Complete
clearsubcommand of:highlight.
- Added
<lt>angle bracket notation (less-than character, '<') (thanks to filterfalse). - Map
<c-h>and<bs>to different key codes (thanks to fogine). This is caused by inconsistency among terminals, map to both keys and it should work everywhere.
- Added
%px,%py,%pwand%phmacros that describe location and dimensions of preview area to use in external commands (thanks to Stephano, a.k.a. cao). - Added
%uand%Umacros to redirect command output directly into custom view. The second one allows for more customization of file list, which is absence of sorting for now (thanks to filterfalse). - No more unjustified inconsistency in processing macros in
:!and:file[x]typecommands (thanks to Miodrag Tokić, a.k.a. loonies).
- Added
system()builtin function that executes command via shell and returns its output. - Added full path patterns (
{{globs}}and//regexp//) (thanks to astrell). - Report error on wrong expression in
:ifstatement and misplaced:else/:endifon file sourcing.
- Added
JobLinehighlight group for the job bar.
- Added fallback to use "XDG Base Directory Specification" when failed to find configuration in other places (thanks to Miodrag Tokić, a.k.a. loonies).
- Added global configuration
{prefix}/etc/vifm/vifmrcand color schemes{prefix}/etc/vifm/colors/*(thanks to astrell and Michael Vetter, a.k.a. jubalh).
- Significantly reduced amount of work performed by Vifm in idle state (thanks to hofheinz).
- Quit fast on
--help/--version(thanks to Svyatoslav Mishyn, a.k.a. juef). - Throw away dead directories in directory histories on merging
vifminfofiles. Otherwise clearing such directories on:historyis almost useless.
- Added handling of Ctrl-L to sort dialog (thanks to filterfalse).
- Added device id (major and minor numbers) to file info dialog.
- Made calculation of directory size visible in
:jobsmenu. - Parse output of mandoc version of apropos in
:apropos(thanks to Svyatoslav Mishyn, a.k.a. juef). - Display RFC 2822 date without time zone in file info (thanks to Svyatoslav Mishyn, a.k.a. juef).
- Added search match highlighting for file names (thanks to Svyatoslav Mishyn, a.k.a. juef, and willemw12).
- Added job bar that displays backgrounded file operations if any (thanks to geo909).
- Redraw UI on resize during file operation when
'syscalls'is set. - Redraw UI on resize when dialog is active.
- Dynamic dialog dimensions (minimum %30 percent of the screen rather than screen-wide all the time) (thanks to Svyatoslav Mishyn, a.k.a. juef).
- Auto-resize position field on the status bar to fit the text (thanks to ranousse).
- Append unused space in view columns to the last one with percent sizing type if any (thanks to fogine).
- Manual page fixes/improvements (thanks to Svyatoslav Mishyn, a.k.a. juef).
- Wrapped option names with single quotes in the man page to make it easier to search for options by their names.
- Added one more light color scheme to assets (in two variations astrell-root and astrell-user) (thanks to astrell).
- Added lookup for mandoc on *nix to perform manual page to plain text transformation (thanks to Svyatoslav Mishyn, a.k.a. juef).
- Added OS X version of sample vifmrc file. Now this one will be used on first run on OS X (thanks to Larry Hynes, a.k.a. larryhynes).
- Added dircolors -> vifm conversion script (thanks to Ink, a.k.a. inknoir, Hendrik Jaeger, a.k.a. henk, and Michael Maddern, a.k.a. madders).
- Added ".vifm" extension to color schemes (initial rename is performed automatically) (thanks Michael Vetter, a.k.a. jubalh).
- Added script to update timestamps, so that build system won't be regenerated without real reason. One might want to run it when building from git checkout, which doesn't preserve correct timestamps.
- Install AUTHORS, COPYING, ChangeLog, INSTALL, NEWS, README and TODO to
{prefix}/share/doc/vifm. Install color schemes to{prefix}/share/vifm/colors. Otherwise these are not available after installation. - Made configure script lookup
curs_setin libtinfo. - Moved checks for build-time tools existence from Makefile to configure script.
- Made tests less dependent on environment (thanks to Hendrik Jaeger, a.k.a. henk).
- Automatically install sample
vifmrcand help file on first start. - Switch to utf-8 internal representation of paths. This fixes issues when file name encoding doesn't match system encoding (thanks to Stas Panteleev).
- Fixed undesired file removal on overwriting them with themselves (data loss after confirmation of overwriting files when destination matches source) (thanks to Сергей Соловьёв (Sergej Soloviov)).
- Fixed crash on navigation to end of line in command-line mode (thanks to Christian Fillion, a.k.a. cfillion).
- Fixed
:help(no arguments) when'vimhelp'is on and automatically installed Vim documentation is used (thanks to ranousse). - Better handling of case related operations.
- Fixed
:vs ..which used to use wrong base directory. - Fixed assertion on including
typein'viewcolumns'value (thanks to Michal Belica, a.k.a. beli-sk). - Better FUSE handling on OS X (thanks to Michael Maddern, a.k.a. madders).
- Fixed (deep) directory merging (thanks to willemw12).
- Fixed build and work on OpenBSD (at least to some degree that curses implementation there allows). There might be some troubles with non-ascii characters (thanks to hofheinz and Brian Callahan, a.k.a. ibara).
- Fixed copying of fifo, socket and device files with 'syscalls' enabled. Thanks to Svyatoslav Mishyn (a.k.a. juef).
- Added K mapping to Vim plugin (quick navigation to documentation, e.g. from
vifmrc). Patch by filterfalse.
- Added
--delimitercommand-line option. Configures delimiter string on writing out list of paths (like on-fswitch) (thanks to Jeet Sukumaran, a.k.a. jeetsukumaran). - Added
--choose-filesand--choose-dircommand-line switches to specify output location for names of selected files or last visited directory respectively (thanks to Jeet Sukumaran, a.k.a. jeetsukumaran). - Added
--on-choosecommand-line switch to execute a command on selection rather than opening it (thanks to Ross Hadden, a.k.a. rosshadden). - Added
%FOREGROUNDFUSE mounting option, which supersedes%CLEARand fixes issue with passing input to FUSE mounter (thanks to Johannes, a.k.a. johannesmeng). - Removed per-view last search pattern. Don't worry, you probably won't even notice it: this doesn't affect regular use case, rather more exotic one, which is hard to notice.
- Handle commands that are too long to be passed directly to the shell by breaking them into list of arguments if possible (thanks to filterfalse).
- Better handling or unexpectedly unavailable directories on startup and while running (thanks to willemw12).
- Define
$VIFM_FUSE_FILEenvironment variable for external commands to communicate path to file used to initiate FUSE mounting of directory we're in (thanks to astrell). - Allowed having multiple file viewers with same rules for choosing them at run-time as for file associations (thanks to filterfalse).
- Redirect both standard output and error streams from viewers (already was the case for Windows).
Download links
|
Source Code vifm-0.8.tar.bz2 |
|
|||||||
|
Win32 Binaries vifm-w32-0.8-binary.zip |
|
|||||||
|
Win32 Single-Executable Binaries vifm-w32-se-0.8-binary.zip |
|
|||||||
|
Win64 Single-Executable Binaries vifm-w64-se-0.8-binary.zip |
|







