Vifm v0.9.1February 5, 2018
This version adds to the list of ways for viewing files by introducing
miller columns view and transposed ls-like view (grid view). Other
developments are related to integration between builtin features as well as
with external applications.
Thanks to everyone who tried out the beta.
Main changes
- Introduced file view mode known as miller columns or cascading lists,
which can be enabled via
'millerview'
and configured with
'milleroptions'
.
- Added ability to transpose ls-like view to make it fill by columns, see
new
'lsoptions'
option.
- More natural behaviour of movement keys in ls-like view.
- New
--remote-expr
command-line option that can be used to
query state of running instances.
- Extended retry/ignore/abort query of
'syscalls'
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.
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.
- Fixed reported free space on *nix (make it consistent with what 'df' reports) (patch by Dmitry Frank, a.k.a. dimonomid).
See change log for the full list.
Download links