Vifm v0.10November 11, 2018
New version includes long awaited tabs and support for managing media. The first one comes in two flavours: tabs either include layout or don't. The latter relies on a helper script, whose job is to adapt existing tools to make them usable by vifm.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 tabs which either operate on the level of layout or level of individual panes
- Added ability to synchronize contents of registers among multiple instances
- Added menu for managing media (relies on helper that does the managing)
- Improved cursor positioning and control over it
- Ability to colorize statusline
Demonstration of new features...
Hover mouse and wait a bit to start animations.|
Tabs at global level ![]() |
Tabs at pane level ![]() |
Managing media ![]() |
Synchronizing registers ![]() |
More detailed list of changes...
Command-line mode:- Added
:tabc[lose]command that closes current tab unless it's the last one. - Added
:tabm[ove]command that moves tabs (thanks to filterfalse). - Added
:tabnamecommand that updates name of the current tab. - Added
:tabnewcommand that creates a new tab (thanks to Cosmin Popescu, a.k.a. cosminadrianpopescu). - Added
:tabn[ext]and:tabp[revious]commands, which work as gt and gT normal mode shortcuts correspondingly (thanks to Cosmin Popescu, a.k.a. cosminadrianpopescu). - Added
:qa[ll],:wqa[ll]and:xa[ll]commands that always try to exit vifm no matter how many tabs are open. - Added
:gotocommand that navigates to specified file/directory (thanks to mateusz28 and Dmitry Frank, a.k.a. dimonomid). - Added
:regularcommand that leaves custom view (thanks to gammaray). :quit,:wq,:exit,:xit, ZZ and ZQ now try to close current tab before closing the application.- Make
:echoand:executereport parsing errors in more detail than just "invalid expression". - Make
:cabbrevand:cnoreabbrevalways treat bar (|) as part of their arguments, just like:*mapcommands do (thanks to filterfalse). - Make
:tree!toggle view in and out of tree mode (thanks to gammaray). - More accurate error message on handling non directories passed to
:cd.
- Added
'tabscope'option that controls style of tabs (thanks to Cosmin Popescu, a.k.a. cosminadrianpopescu). - Added
'showtabline'option that controls visibility of tab line. - Added
'histcursor'option that gives partial control over when cursor is positioned in accordance with record of directory history (thanks to filterfalse and Dmitry Frank, a.k.a. dimonomid). - Added
'quickview'option that controls visibility of quick view (:view) (thanks to Jochen Schweizer, a.k.a. durcheinandr). - Added
'syncregs'option which defines group of instances that share registers (patch by Ma_Sys.ma). - Added
'mediaprg'option that can be used to specify helper for managing removable media. One such helper with support of udevil and udisks is provided. Only for *nix systems. - Added support for arbitrary expressions in
'statusline':'%{...}', e.g.'%{&sort}'evaluates to the value of the sort option (patch by Dmitry Frank, a.k.a. dimonomid). - Added "M" flag to
'shortmess'option to control shortening of titles in windows of terminal multiplexers created by vifm down to file name instead of using full path (thanks to mateusz28).
- Try to preserve file owner/group on copying (thanks to willemw12).
- Added gt and gT normal mode shortcuts that switch between tabs in both directions.
- Added <silent>
:*mapargument that postpones UI updates until RHS is completely processed. Probably not all updates are postponed, to be improved as unhandled cases are discovered. - Added <wait>
:*mapargument, which resolves prefix conflicts of user-defined mappings and builtin keys in favour of user-defined mappings (thanks to Paweł Smolak, a.k.a. psmolak).
- Added <insert> angle bracket notation (thanks to j-xella).
- Added <c-@> angle bracket notation making it possible to map Ctrl-Space key (thanks to anonymous at Vifm Q2A site).
- Use historical cursor position upon startup by default when
'autochpos'is on, this is now independent from "savedirs" in'vifminfo'option (thanks to filterfalse). - Use historical cursor position on navigating to a mark that doesn't specify a file by default when
'autochpos'is on (thanks to filterfalse). - Move cursor after p and P to one of files that were moved or to a cause of last conflict (thanks to filterfalse and ranousse).
- Issue a warning if file system lists several files with identical names in the same directory. It used to be assumed that it can't happen (thanks to Jose Riha, a.k.a. jose1711).
- Support italics in quickview/view mode and in :highlight when curses implementation provides corresponding extension. PDCurses doesn't implement it on Windows. Fallback is to use "reversed" attribute (thanks to GeorgeHJ).
- Escape
=at the beginning of paths (has special meaning in zsh) (thanks to agguser).
- Added
:mediamenu that can list and perform basic operations on removable media (requires helper to be available, see'mediaprg'). Only for *nix systems (thanks to Bruce Hunsaker, a.k.a. hunsakerbn and others). - Added r key to
:undolistmenu, which resets position in the undo list to group under the cursor (thanks to mini-turtle). - Sort entries of
:bmarksmenu (thanks to anonymous at Vifm Q2A site). - Slightly better formatting in
:undolistmenu. - Do not reset selection before executing a :command from
:commandsmenu (thanks to Jose Riha, a.k.a. jose1711). - Less strict parsing of output of external command by
:[un]selectcommands. Similar to%u/%Uand menus allow<file>[:[<line>:[<col>:]] <description>]format (thanks to j-xella).
- Added
TabLinehighlight group for highlighting tab line. - Added
TabLineSelhighlight group for highlighting tip of the selected tab on the tab line. - Added
User1..User9highlight groups and corresponding%[0-9]*'statusline'macro, which makes it possible to colorize parts of status line differently (thanks to GeorgeHJ).
- Display list of files in removal confirmation dialog (thanks to ovk).
- Added
tabpagenr()function that retrieves number of current or last tab page (thanks to filterfalse). - Added
fnameescape()builtin function, which can be used to escape paths on construction of :commands (thanks to filterfalse). - Added second optional parameter to
filetype()builtin function that is treated as a boolean and specifies whether symbolic links should be resolved. - Added addition and subtraction operations to the parser.
- Added grouping via parentheses to expressions (thanks to Konst Mayer, a.k.a. cdlscpmv).
- Allow passing numerical positions to
filetype()function.
- More explicit documentation about leaving custom views (thanks to tagwint).
- Support embedded terminal in the plugin for newer Vim.
- Fixed flickering on Windows (thanks to Alexandre Viau and randomizedthinking).
- Fixed graphical applications on Windows not being detected as such, which caused vifm to wait until they finish running. Was broken since 0.9 (thanks to r0ck).
- Fixed error messages from put operation being postponed until the next put operation. Got broken in 0.9.
- Fixed confirmation not being requested on
:delete(thanks to anonymous at Vifm Q2A site).
Download links
|
Source Code vifm-0.10.tar.bz2 (signature) |
|
|||||||
|
Win32 Binaries vifm-w32-0.10-binary.zip (signature) |
|
|||||||
|
Win32 Single-Executable Binaries vifm-w32-se-0.10-binary.zip (signature) |
|
|||||||
|
Win64 Single-Executable Binaries vifm-w64-se-0.10-binary.zip (signature) |
|



