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...
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