Vifm v0.10.1 betaJuly 15, 2019

This version provides additions and improvements for media management feature, several enhancements related to text user interface, extra features to Vim plugin thanks to merging in neovim-vifm plugin and various small changes.

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
  • Added file preview to miller mode
  • Added preview macro to directly output to terminal, which enables use of Sixel graphics for previewing
  • Added udisks2 backend to vifm-media script (bundled script for managing media) and version of the script for OS X
  • Updated code to make use of large amount of color pairs when available
  • Functionality of previously separate neovim-vifm plugin got merged into the main plugin
  • Multiple improvements to :media menu
  • Improved performance in several use cases (quickview, lots of unhighlighted files, unnecessary cursor updates and redraws)
Demonstration of new features... Hover mouse and wait a bit to start animations.

File preview in miller mode


Image preview with Sixel using %pd macro


Splits and modifiers in embedded Vim-plugin

More detailed list of changes... Command-line mode:
  • Added :cds command that navigates to path obtained by substitution in the current path (thanks to j-xella).
  • Added :hideui command that hides interface to show previous commands' output (thanks to dikiy).
  • Added one more invocation format of :colorscheme command, which picks the first available color scheme that is supported by the terminal (thanks to Jose Riha, a.k.a. jose1711).
  • Always preserve tabs on :restart (thanks to mwgkgk).
  • Refuse to compare directory against itself via :compare command (thanks to Jose Riha, a.k.a. jose1711).
:set command and options:
  • Added fileroot view column, which displays full name of directories and symbolic links to directories and only root of name for everything else (thanks to chelovechishko).
  • Added 'shellcmdflag' option that allows customizing how shell is invoked. Enables running it in interactive mode, which can make shell aliases and functions work (thanks to Ink (a.k.a. inknoir), John Shea (a.k.a. coachshea) and randomizedthinking).
  • Added L flag to 'shortmess' option to display only last directory in tab line instead of full path (thanks to chelovechishko).
  • Added ^= operation for string list options (thanks to SearyBlue).
  • Added ^= operation for options of set kind.
  • Added rpreview: key to 'milleroptions' option that allows enabling preview of files (thanks to Svadkos and Tom Jansen).
  • Added %p macro to 'findprg' option. It works as a mix between %a and %A macros: usually contains arguments passed to :find command, but unlike %a doesn't include any predicates (thanks to Sitaram Chamarty and Tuan Bui, a.k.a. tuanbass).
  • Do not add leading comma to string list options on set opt+=item.
  • Don't create trash directory on startup if 'trash' is off (patch by zsugabubus).
Key bindings:
  • Improved <silent> to do not forcefully update screen after the mapping if no screen updates were skipped.
Completion:
  • Complete user name in paths after initial tilde (e.g., :cd ~r<tab> => :cd ~root).
Macros:
  • Added %pd macro that makes preview output directly affect terminal circumventing curses interface, which could be used to display sixel images (thanks to Tom Jansen).
Color schemes:
  • Added OtherWin highlight group for highlighting inactive pane (thanks to John Fred Fadrigalan, a.k.a. cevhyruz).
Menus and dialogs:
  • Added indication of entry's availability to :file, :file[x]type and :fileviewer menus.
  • Added [ and ] bindings to :media menu that provide navigation between devices (patch by zsugabubus).
  • Added decorations to :media menu (patch by zsugabubus).
  • React to Enter in :media menu on device lines, mount on "not mounted" line and do nothing otherwise (patch by zsugabubus).
  • Show empty lines in :media only if there is enough vertical space (patch by zsugabubus).
  • Removed empty line from :file and similar menus for case when vifm was configured with --disable-desktop-files flag (second time).
Scripting:
  • Added extcached() builtin function, which can be used to improve performance of file queries by caching results of external commands (thanks to Matthias Braun, a.k.a. mb720).
Invocation:
  • Try to preserve symbolic links in current path when starting vifm by checking value of $PWD (thanks to Vigi).
Core:
  • Resolve symbolic links for mime-type matchers (thanks to Vigi).
  • Do not check for view changes while suggestions are visible. It can mess up TUI, especially in combination with preview (thanks to ks1c).
File operations:
  • Preserve extended attributes on copying files (thanks to hutou).
  • Don't throw away errors that were ignored by the user, display them at the end of operation.
  • Consume input during foreground file operations. Otherwise it remains buffered and is processed after the operation is over, which might not be the intent of the user.
  • Reduce number of options available on file conflict when source and destination are the same to avoid confusion (options that overwrite do nothing in this case) (thanks to aleksejrs).
File preview:
  • Do not complain about empty output of a graphics previewer for view mode.
  • Clear preview before displaying suggestions (thanks to ks1c).
TUI (Text User Interface):
  • Renamed filename filter to "permanent filter" consisting of "explicit" (ex-manual) and "implicit" (ex-automatic) parts (thanks to Sitaram Chamarty).
  • Changed file rename prompt to indicate whether full name or only its root is being changed.
  • Try to determine widths of printed character more accurately.
  • Drop leading space implicitly added to time columns in views (thanks to laggardkernel).
Integration:
  • Added info= field to parser of 'mediaprg' output. It provides custom message for the media (patch by zsugabubus).
  • Added udisks2 backend to vifm-media script (bundled script for managing media). Requires python and dbus module for it to be installed (because udisks2 and dbus are too shitty to be used on command-line) (thanks to Tykin).
  • Added vifm-media-osx script that is configured to be used (via 'mediaprg') on OS X (patch by Von Welch).
  • Added FUSE_MOUNT3 filetype format, which is equivalent to FUSE_MOUNT, but doesn't perform unmounting. Helpful to use with something like avfs (thanks to Jose Riha, a.k.a. jose1711).
  • Error stream from 'mediaprg' isn't considered anymore when deciding if mounting/unmounting was successful. While technically an incompatible change, it's unlikely to cause any issues.
  • Spawn 'mediaprg' in foreground to allow interactions with the user, like providing a password (patch by zsugabubus).
  • Properly remove FUSE mount points if they are symbolic links.
Documentation:
  • Better documentation for TabLine and TabLineSel highlighting groups (thanks to mwgkgk).
  • Clearer documentation/description for :*unmap commands and 'vicmd'/'vixcmd' options (thanks to chelovechishko).
  • Improve documentation of patterns and globs (thanks to afsheenb).
  • Improved documentation on filters (thanks to Sitaram Chamarty).
  • Document more details about expansion of FUSE macros.
  • Make documentation of 'findprg' more readable.
Vim-plugin:
  • Added :Vifm command as an alias for :EditVifm (patch by rbong).
  • Added optional splitting of the embedded terminal (g:vifm_embed_split). Has support for Vim's <mods> and <count> (patch by rbong).
  • Added option to synchronize working directory of the embedded instance of vifm with the Vim host (g:vifm_embed_cwd) (patch by rbong).
  • Added ability to replace netrw with vifm (g:vifm_replace_netrw and g:vifm_replace_netrw_cmd) (patch by rbong).
Configuration:
  • Added example of using xsel to sample vifmrc file (thanks to chelovechishko).
  • Enabled 'vimhelp' in sample vifmrc file by default.
Performance:
  • Added caching to quickview for a single file to avoid fileviewer being called more often than needed (thanks to agguser).
  • Try to avoid superfluous screen updates related to cursor position.
  • Remember when file doesn't match any file-specific highlighting groups for better performance (thanks to Gomme Bidule).
  • Generate faster regular expressions by vifm-convert-dircolors (thanks to Gomme Bidule).
Only on Windows:
  • Upgraded to PDCurses 3.8 (was 3.4) for Windows. This allows using 256 colors inside ConEmu. Note that ConEmu has issues processing 256 colors on the last line of the screen, so avoid using them for status line (thanks to dancread).
Other changes:
  • Don't error on trash creation failure due to read-only file system (patch by zsugabubus).
Important fixes:
  • Fixed losing files on failed move operation. Source files were deleted assuming they were copied successfully, even when errors regarding some of them were ignored by the user (thanks to zsugabubus).
  • Fixed vifm not making use of large number of color pairs when they are available (thanks to Jose Riha (a.k.a. jose1711) and Hans Petter Jansson (a.k.a. hpjansson)).
  • Fixed color pairs being exhausted on Windows when default color ends up being used often, this caused highlighting to go awry (thanks to dancread).
  • Fixed textual output of graphical previewers not being displayed in view mode (thanks to agguser).
  • Fixed DirEnter autocommand being called with view being in a mixed state of old and new location (thanks to Kendrick Taylor, a.k.a. sixcircuit).
See change log for the full list.
Download links
Source Code
vifm-0.10.1-beta.tar.bz2

(signature)
MD5045ea9124f5dd6311d0a3601f1e12a34
SHA102caa28440f09abfc2d63289134f8b76608e8dfa
RIPEMD1603f87d3a21f2bf79e61c39db9f60adc957077760d
Win32 Binaries
vifm-w32-0.10.1-beta-binary.zip

(signature)
MD59137f48037064d36b9169b5113af4843
SHA1d718accf80f506ad233a2a61b73d48f83958884e
RIPEMD16054c2be3e51e0f5d79c3ca1ba8e32ea98a6605557
Win32 Single-Executable Binaries
vifm-w32-se-0.10.1-beta-binary.zip

(signature)
MD5d5aa6a4f680f759ecd95a073b1c8a88b
SHA1a39a1b840c4d5d49a0d9caed8aa70c90026e8d08
RIPEMD1608a6735a9a4ae62cac238ff6052d25f56287b82a5
Win64 Single-Executable Binaries
vifm-w64-se-0.10.1-beta-binary.zip

(signature)
MD592c95ca5f74f002c15cca2e0afac8791
SHA17eb3538726555b15f7513331b4d8c95fdb9bd6fc
RIPEMD16097de6c50d8298f243bd6cca678909d2a4af44984