Vifm v0.9.1 betaJanuary 22, 2018

This version adds to the list of ways for viewing files by introducing miller columns view and transposed ls-like view (table view). Other developments are related to integration between builtin features as well as with external applications.

The beta stage will last about two weeks. In case any serious bugs are found during this period, another beta version might be released.

Main changes
  • Introduced file view mode known as miller columns or cascading lists.
  • Added ability to transpose ls-like view to make it fill by columns.
  • More natural behaviour of movement keys in ls-like view.
  • New --remote-expr command-line option can be used to query state of running instances.
  • Extended retry/ignore/abort query to all file operations.
  • More control over highlight groups via :highlight suitable for interactive changes.
  • Mostly eliminated the need for repeating ga/gA commands through automatic size recalculation.
Demonstration of new features... Hover mouse and wait a bit to start animations.

Miller mode with three columns


Miller mode with two columns and parent change keys


Transposed ls-like view


Querying state of a remote instance


Automatic size recalculation

More detailed list of changes... File operations:
  • Added retry/ignore/abort prompt for file copying and directory/file/symlink creation when 'syscalls' is on (thanks to einhander).
  • Better detection of write errors on file copying. The error was reported, but it wasn't treated as a hard error in a specific case related to caching.
Command-line mode:
  • Added :histnext/:histprev commands, which are analogous to Ctrl-I/Ctrl-O (patch by Dmitry Frank, a.k.a. dimonomid).
  • Added ability to remove filename-specific highlighting rules with :highlight clear {pattern} (thanks to aleksejrs).
  • Changed :filter command to accept pattern (//, ////, {} or {{}}) (thanks to rbong).
  • Made :siblnext and :siblprev commands respect dot and name filters.
  • Made :siblnext and :siblprev accept [count] range (thanks to filterfalse).
  • Made :tree pick up list of files from custom view (thanks to filterfalse).
  • Made :highlight update file-specific group on exact match of the pattern instead of appending new rule (thanks to aleksejrs).
  • Remove empty directories which are specified in 'trashdir' with %r and/or %u automatically on :empty (thanks to Marcin Kurczewski, a.k.a. rr-).
:set command and options:
  • Added "inode" sorting key, which sorts entries by inode number (thanks to eco0414).
  • Added 'millerview' option that enables cascading columns interface for the view (thanks to sudo-nice).
  • Added 'milleroptions' option that configures miller view.
  • Added 'lsoptions' option that allows to get transposed grid in ls-like view (thanks to Dmitry Frank, a.k.a. dimonomid).
  • Added 'previewprg' option, which can be used to override :fileviewer commands either temporarily or permanently (thanks to svenn71).
  • Added {root} key to 'viewcolumns' option (complements {ext}) (thanks to Oleg Gordienko, a.k.a. gordio).
  • Added "u" flag to the 'tuioptions' option. It enables use of Unicode characters in the TUI (Unicode ellipsis instead of "...") (thanks to Oleg Gordienko, a.k.a. gordio).
  • Added "foldsubkeys" value to the 'suggestoptions' option. It folds multiple suggestions with common prefix into one entry (thanks to AndreaHasani).
Normal and visual modes:
  • Added [r/]r/[R/]R normal mode shortcuts that map to :siblprev and :siblnext with and without wrapping correspondingly (thanks to filterfalse).
  • Do not go to start of line on Ctrl-U/Ctrl-D/Ctrl-F/Ctrl-B/G in ls-like view.
  • H/M/L keys in ls-like view now account for columns.
  • Instead of invalidating directory size previously calculated via ga/gA on detecting changes in the directory recalculate its size and propagate update through its parents (thanks to filterfalse).
Macros:
  • Added %x macro to 'rulerformat' (and thus to 'statusline') as a new name for %-, which conflicts with alignment specification and requires explicit width specifier (%0-) (thanks to Marcos Cruz).
Scripting:
  • Added term() builtin function, which differs from system() only by its ability to run interactive applications without confusing vifm's interactions with the terminal (thanks to Dmitry Frank, a.k.a. dimonomid).
  • Added v:count and v:count1 builtin variables. They are assigned to count passed to : command.
  • Don't trigger DirEnter event with previous directory on startup when list of files is specified on stdin (thanks to filterfalse).
Invocation:
  • Added --remote-expr command-line option, which gives ability to query state of an instance (thanks to Marcin Kurczewski, a.k.a. rr-).
Completion:
  • Added completion of filename-specific highlight groups for :highlight command.
Color schemes:
  • Added AuxWin highlight group for highlighting auxiliary parts of windows.
TUI (Text User Interface):
  • Extend width of the cursor in ls-like view to the width of the cell (thanks to Dmitry Frank, a.k.a. dimonomid).
  • Indicate preview created with %q with "Command: cmd".
  • Duplicate status bar error in dialog that reports sourcing error. Will need to get rid of errors on status bar later.
Performance:
  • Improved performance of mime-type detection when using libmagic (now might be about seven times faster by avoiding reinitialization of the library).
  • Don't force file list reload after :! and rely on change detection. This should result in somewhat better performance (thanks to opennota).
Documentation:
  • Documented more details about 'vicmd' and 'vixcmd' options (thanks to Sebastian Cyprych).
Vim-plugin:
  • Disabled spell checking of vifm files in Vim except for comments.
Only on Windows:
  • Fixed running commands with arguments on Windows when 'shell' isn't cmd.exe.
Important fixes:
  • Fixed consuming 100% of CPU on certain pattern of running background processes (thanks to petRUShka).
  • Fixed turning quickview into explore view when preview command doesn't contain macros. Was broken since 0.8.
  • Fixed the plugin in neovim (patch by John Shea, a.k.a. coachshea).
  • Fixed cloning of files like .name to produce .name(1) instead of (1).name (thanks to filterfalse).
  • Fixed directory size in statusline (patch by Dmitry Frank, a.k.a. dimonomid).
  • Fixed CWD of the process not matching current view after vifm picked up change in file system (patch by Daniel Mueller).
  • Fixed :normal command resetting selection (thanks to filterfalse).
  • Fixed stopping of put operation after copying symbolic link that's broken on destination (thanks to filterfalse).
  • Fixed a "race" with file system when we could load outdated file list and thus miss some file system updates.
See change log for the full list.
Download links
Source Code
vifm-0.9.1-beta.tar.bz2

(signature)
MD50f4717ffc8b52cb8937edbd9ea224e81
SHA1253136d17031fa62af751e2cf5dbf308137fb913
RIPEMD1606279c29031316c8f592de7a8aae9d05cb9d7e1b9
Win32 Binaries
vifm-w32-0.9.1-beta-binary.zip

(signature)
MD5918cde3566ec1745f37222797d7c148d
SHA1b5d8cf5d41382a66819aa0e5d23de224744c7819
RIPEMD160343b59a8ae93bd41ea29fb1a3b7c9fd0cabf39f4
Win32 Single-Executable Binaries
vifm-w32-se-0.9.1-beta-binary.zip

(signature)
MD5b25243310134b3c33b51a78341dfeb3d
SHA12ce4585fd37ccd551f9e06b7547ea5f19d2d420f
RIPEMD160204c45fde23fceab62c29933e520f31f050647c6
Win64 Single-Executable Binaries
vifm-w64-se-0.9.1-beta-binary.zip

(signature)
MD5189c14362009c3d2641cf7030c799604
SHA1e2587b9a9b5dd2b9eb6c555b925780c39f925f89
RIPEMD160ace9fbf4a4cd7ee76a9871ad44141e0d98775e0a