Vifm v0.12 betaSeptember 15, 2021

New version makes textual preview asynchronous, provides support for 24-bit colors, improves tree-view and introduces experimental Lua plugins support.

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
  • Color schemes and preview now support 24-bit colors.
  • Depth of tree-view can now be limited and directories in it can be folded.
  • Textual preview of files is now done asynchronously.
  • List of files can now be directly piped to programs via new macros.
  • External editing now asks for a re-edit after a failure.
  • Status line can now take up several lines.
  • Vifm has received a more advanced, but currently experimental, extension interface in a form of Lua plugins.
More detailed list of changes... Core:
  • Added experimental Lua plugins support.
  • Added interactive re-editing of file names in external editor. Format now supports comments for displaying last error and original file names (thanks to Jose Riha (a.k.a. jose1711) and Diogo Lemos (a.k.a. dmlemos)).
  • Started using quickview's cache in view mode.
  • Extended cache of viewer's output to contain multiple entries (initial version of the cache was added to skip redrawing graphics).
  • Run background programs detached from a terminal (thanks to Miguel Madrid MencĂ­a, a.k.a. mimame).
File operations:
  • Added periodic forced flushing of data on copying data when 'syscalls' is set (thanks to Matthias Braun, a.k.a. mb720).
Invocation:
  • Don't list inaccessible instances on --server-list.
Important fixes:
  • Fixed losing files as a result of executing :copy! & or :move! & when both panes show the same directory (thanks to Hans Bieshaar).
  • Fixed copying of executable files not working on FreeBSD (thanks to makijato).
  • Fixed inability to map escape sequences due to extended keys in terminfo database (patch by M Kelly).
  • Fixed hang on using previewer that takes over control over the terminal (like 7z does to read password) (thanks to PRESFIL).
  • Fixed vifm-convert-dircolors dropping copies of entries that differ only by case (thanks to flux242).
Normal and visual modes:
  • Added zx normal mode key to fold/unfold directories in tree views. The implementation is not optimal at this moment though (thanks to filterfalse, Ben Lu (a.k.a. ayroblu), RR0925 and Alexandre Viau).
Key bindings:
  • Added a and A view mode keys that switch to next and previous viewer of current file correspondingly (thanks to j-xella).
  • Added i view mode key that toggles raw mode (ignoring of defined viewers) (thanks to j-xella).
Command-line mode:
  • Added :plugins command that opens plugins menu.
  • Added :plugin command that manages plugins.
  • Added :st[op] command what behaves like Ctrl-Z. It's to be used in mappings (thanks to GummyGun).
  • Added depth=N parameter to the :tree command (thanks to filterfalse).
  • Added combine pseudo-attribute to cterm parameter of :highlight command. It changes behaviour from overwriting attributes of a parent highlight group (within their hierarchy) to appending to it (thanks to Andrew Savchenko).
  • Added gui, guifg and guibg parameters to :highlight command.
  • Added network mount and subst targets to :volumes menu (patch by Phil Runninger).
  • Made :compare obey file name filters (patch by qsmodo).
  • Allow user-defined commands to include numbers in their names (thanks to anonymous at Vifm Q2A site).
:set command and options:
  • Added %P macro to 'rulerformat' (and thus to 'statusline'), which expands to All, Top, xx% or Bot to indicate position within the view (thanks to iSeeU816).
  • Added 'previewoptions' option to allow tweaking graphics preview a bit (thanks to Joshua Jensch (a.k.a. patroclos) and flux242).
  • Added toptreestats value to 'previewoptions' option, which makes stats appear before the tree (patch by qsmodo).
  • Added literal values to 'viewcolumns' option (thanks to Jose Riha (a.k.a. jose1711), chelovechishko, DieSpinne and rwtallant13).
  • Added %N macro to 'statusline' option, which adds a line break and increases height of the status line (thanks to Jose Riha (a.k.a. jose1711), qsmodo and jcarreja).
  • Added l and r flags to the 'tuioptions' option. It controls truncation of view titles (patch by qsmodo).
  • Added %c 'statusline' macro that displays size of current file-system (thanks to Jose Riha, a.k.a. jose1711).
Macros:
  • Added %Pl and %Pz macros for redirecting list of files to standard input of commands (thanks to PRESFIL).
  • Added %v macro for vertical splitting in terminal multiplexers (patch by qsmodo).
File preview:
  • Allow exploring empty files or output of viewers (thanks to Andrew Savchenko).
  • Implemented asynchronous previewing for textual and pass-through (think sixel) viewers (thanks to StillSteal, laur89, Joshua Jensch (a.k.a. patroclos) and p-kolacz).
  • Detect broken links on preview and report them as such.
Color schemes:
  • Changed semantics of light* color groups to add bold attribute only for terminals with less than 16 colors. Aligns the behaviour with Vim. Affects you only if you relied on that implicit bold attribute (thanks to Jose Riha, a.k.a. jose1711).
Menus and dialogs:
  • Added shortcuts for toggling flags in permissions dialog on *nix (patch by qsmodo).
  • Added some additional information about instance to the :version/:vifm menu.
  • Made contents of map menus easier to comprehend by adding captions.
  • Include shortcut prefix in title of map menus.
  • Always display UID/GID in numeric form in File Info dialog (in parenthesis if the id was resolved to a string).
TUI (Text User Interface):
  • Added support for direct/"true"/24-bit colors for ncurses 6.0 or later (thanks to Anton Kochkov (a.k.a. XVilka) and IvanBarsukov).
  • Added progress indication to the ruler of the view mode (corresponds to new %P macro of 'rulerformat') (thanks to iSeeU816).
Documentation:
  • Document how %i macro affects background jobs.
Only on Windows:
  • Fixed :goto not working with backslashes (thanks to Grueslayer).
  • Fixed processing of keypad keys (thanks to Roland).
  • Fixed :empty leaving empty directories (thanks to Grueslayer).
Packaging:
  • Made it possible to build AppImage for Vifm (patch by michaellee8).
  • Fixed running tests as root user (thanks to Michka Popoff, a.k.a. iMichka).
  • Fixed an issue with packaging on one system (Linux in this case) and building on the other (OS X) (thanks to chenrui333).
Vim-plugin:
  • Made :VifmCs of the plugin fail when 'termguicolors' produces a 24-bit color value (thanks to AtomToast).
Other changes:
  • Updated logo of the project (thanks to Hescalalu for making it).
See change log for the full list of changes and by whom they were suggested or implemented.
Download links
Source Code
vifm-0.12-beta.tar.bz2

(signature)
MD5cdddd7c2105bc712d27bb34d0f7458eb
SHA1b46e3651ef06c98a57b9b88db95534e0a4754317
RIPEMD1609d36eece5e799629a5ea7e154abbc622e0a7d5b8
Win32 Binaries
vifm-w32-0.12-beta-binary.zip

(signature)
MD57df63ae2cbfcd507f21563b902674b5a
SHA1aeab694dec314f21eda69dd9df857bca2beae2f5
RIPEMD1603cc6f39e0db71f57119cc689b99f1bcc436df49d
Win32 Single-Executable Binaries
vifm-w32-se-0.12-beta-binary.zip

(signature)
MD5a10dca6bcaabeb17c23098295e18a83b
SHA14e03ba9bb9d7f5b2730736099fadfb8e2e0d40c3
RIPEMD160f1978c9f1cbba307595b9bd9f931cf3e751c1a6d
Win64 Single-Executable Binaries
vifm-w64-se-0.12-beta-binary.zip

(signature)
MD526066ad1f7970d366e1f6dcdf2e446e2
SHA1af1622864fb5d0af9605ed248c5167dc01f5830f
RIPEMD1607298827e2b51d5f50b7b5a72e9434346abdfec23