Vifm is a file manager with curses interface, which provides Vim-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Thanks to everyone who tried out the beta.
Highlights:
Faster file-system navigation with a new searching/filtering submode
Hitting <c-y> after / or = allows finding and opening consecutive path components without leaving command-line mode. In this mode keys like <c-o>/<c-n>/<c-p>/<left>/<home>/etc. help to refine cursor position or go to parent directory if necessary.
More interactive :compare
You can now see stats about file comparison on the status bar and have an option to easily re-run the comparison while toggling visibility of some of the groups.
Also, default file alignment is more natural now. do and dp handle selection. You can force ignoring or respecting case in paths. Performance and memory consumption have been improved in various cases.
Mouse support and TUI improvements
Once mouse support is enabled, you should be able to perform simple browsing with just your mouse for those cases when it's more convenient.
Conflict dialog now always presents basic file metadata for comparison. Detailed progress dialog has ETA. Ls-like view can now have a fixed number of columns.
Other
Formatting of tabs and entry selection in Lua. Changing register's content via an editor. Explicitly prompting user for input via input()
function.
Fixes
v0.12.1 was supposed to improve escaping on Windows, but it simultaneously made one old bug more prominent, effectively making things much worse in some cases. This release remedies that.
%N
macro has been adjusted to fix integration with image preview of Kitty v0.27+.
Lots of fixes related to search and various combinations of 'hlsearch'
, 'incsearch'
in different modes.
See change log for the full list of changes and by whom they were suggested or implemented.
The beta stage will last about two weeks. In case any serious bugs are found during this period, another beta version might be released.
Highlights:
Faster file-system navigation with a new searching/filtering submode
Hitting <c-y> after / or = allows finding and opening consecutive path components without leaving command-line mode. In this mode keys like <c-o>/<c-n>/<c-p>/<left>/<home>/etc. help to refine cursor position or go to parent directory if necessary.
More interactive :compare
You can now see stats about file comparison on the status bar and have an option to easily re-run the comparison while toggling visibility of some of the groups.
Also, default file alignment is more natural now. do and dp handle selection. You can force ignoring or respecting case in paths. Performance and memory consumption have been improved in various cases.
Mouse support and TUI improvements
Once mouse support is enabled, you should be able to perform simple browsing with just your mouse for those cases when it's more convenient.
Conflict dialog now always presents basic file metadata for comparison. Detailed progress dialog has ETA. Ls-like view can now have a fixed number of columns.
Other
Formatting of tabs in Lua. Changing register's content via an editor. Explicitly prompting user for input via input()
function.
Fixes
v0.12.1 was supposed to improve escaping on Windows, but it simultaneously made one old bug more prominent, effectively making things much worse in some cases. This release remedies that.
%N
macro has been adjusted to fix integration with image preview of Kitty v0.27+.
Lots of fixes related to search and various combinations of 'hlsearch'
, 'incsearch'
in different modes.
See change log for the full list of changes and by whom they were suggested or implemented.
Thanks to everyone who tried out the beta.
Expression register for command-line prompts (Ctrl-R =)
If you ever wanted to insert result of evaluating an expression into command-line, now you can. One of the most useful applications of this is pasting clipboard's contents without the risk of it being processed as user input (e.g., :<c-r>=system('xsel')
).
Selection handling improvements
New :keepsel
command-prefix is meant to suppress clearing of selection done automatically after most of command-line commands thus avoiding the need for using gs command to restore it. As a common case, the behaviour for :view
command has been changed to not drop selection.
Restoring selection in a newly entered directory can now be done not just from a register populated ahead via yanking selection ("rgs), but just by executing gs to restore selection the directory had before it was left last time. Vifm remembers last 10 locations with non-empty selection.
An arbitrary editor can now be fully integrated via Lua
'vicmd'
and 'vixcmd'
were always there, but commands specified in these options could receive Vim-specific arguments they don't expect. Writing a shell wrapper was an option, but it had to do guesswork while post-processing arguments meant for Vim, which is error prone. A Lua handler can now be used instead. It receives full context about editor invocation and can perfectly forward the request to an arbitrary editor.
TUI improvements
Escaping of unprintable characters, less of annoying flickering, slightly better File Info dialog.
Conflict resolution dialog now provides a sub-dialog for comparing conflicting files and is also smarter at picking which actions to offer.
Lua API additions (still experimental)
The API now gives some access to layout, tabs and keys.
Unlike :*map
commands, keys API allows defining custom selectors (like 2j in d2j), keys that accept an argument (like a in ma) and keys that accept selectors (custom or builtin).
If you want to give plugins a try, read overview.
Other
Bulk retargetting of links, optional implicit :cd
on command line, macros that expand to non-empty selection, supporting more <keys>, completion for fish
shell.
Fixes
Escaping of arguments and slashes in paths will now hopefully work better on Windows, which is generally an issue there. Yori shell is now also handled on Windows.
New %N
macro can be used to fix image preview in Kitty terminal.
See change log for the full list of changes and by whom they were suggested or implemented.
The beta stage will last about two weeks. In case any serious bugs are found during this period, another beta version might be released.
Changes overview:
Expression register for command-line prompts (Ctrl-R =)
If you ever wanted to insert result of evaluating an expression into command-line, now you can. One of the most useful applications of this is pasting clipboard's contents without the risk of it being processed as user input (e.g., :<c-r>=system('xsel')
).
Selection handling improvements
New :keepsel
command-prefix is meant to suppress clearing of selection done automatically after most of command-line commands thus avoiding the need for using gs command to restore it. As a common case, the behaviour for :view
command has been changed to not drop selection.
Restoring selection in a newly entered directory can now be done not just from a register populated ahead via yanking selection ("rgs), but just by executing gs to restore selection the directory had before it was left last time. Vifm remembers last 10 locations with non-empty selection.
An arbitrary editor can now be fully integrated via Lua
'vicmd'
and 'vixcmd'
were always there, but commands specified in these options could receive Vim-specific arguments they don't expect. Writing a shell wrapper was an option, but it had to do guesswork while post-processing arguments meant for Vim, which is error prone. A Lua handler can now be used instead. It receives full context about editor invocation and can perfectly forward the request to an arbitrary editor.
TUI improvements
Escaping of unprintable characters, less of annoying flickering, slightly better File Info dialog.
Conflict resolution dialog now provides a sub-dialog for comparing conflicting files and is also smarter at picking which actions to offer.
Lua API additions (still experimental)
The API now gives some access to layout, tabs and keys.
Unlike :*map
commands, keys API allows defining custom selectors (like 2j in d2j), keys that accept an argument (like a in ma) and keys that accept selectors (custom or builtin).
Other
Bulk retargetting of links, optional implicit :cd
on command line, macros that expand to non-empty selection, supporting more <keys>.
Fixes
Escaping of arguments and slashes in paths will now hopefully work better on Windows, which is generally an issue there. Yori shell is now also handled on Windows.
New %N
macro can be used to fix image preview in Kitty terminal.
See change log for the full list of changes and by whom they were suggested or implemented.
New version makes textual preview asynchronous, provides support for 24-bit colors, improves tree-view and introduces experimental Lua plugins support.
Thanks to everyone who tried out the beta.
Main changes:
See change log for the full list of changes and by whom they were suggested or implemented.
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:
See change log for the full list of changes and by whom they were suggested or implemented.
To OS X users: please use vifm-osx-0.11.tar.bz2
archive for this release. There is an issue with vifm-0.11.tar.bz2
which lacks two OS X specific files.
New version finally updates format of vifminfo
file unblocking changes such as persistent tabs, sessions and timestamp-based merging of histories. In addition to that there were several noticeable improvements in user interface and important optimizations.
Thanks to everyone who tried out the beta.
Main changes:
vifminfo
file (old version is imported on first run)See change log for the full list of changes and by whom they were suggested.
New version finally updates format of vifminfo file unblocking changes such as persistent tabs, sessions and timestamp-based merging of histories. In addition to that there were several noticeable improvements in user interface and important optimizations.
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:
vifminfo
file (old version is imported on first run)See change log for the full list of changes and by whom they were suggested.
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.
Thanks to everyone who tried out the beta.
Main changes:
udisks2
backend to vifm-media
script (bundled script for managing media) and version of the script for OS X:media
menuSee change log for the full list of changes and by whom they were suggested.
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:
udisks2
backend to vifm-media
script (bundled script for managing media) and version of the script for OS X:media
menuSee change log for the full list of changes and by whom they were suggested.