xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
vifm v0.9 beta
New version brings two new ways of viewing and processing file lists, namely
tree-view and directory-comparison.  As usual, previously existing facilities
were extended and improved to become more useful.

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 tree-like representation of files;
 - added directory comparison facilities;
 - added ability to restore last navigation menu;
 - background operations and programs can now be cancelled;
 - dismissed error output of external programs can now be queried;
 - added shell completion for bash and zsh;
 - now it's possible to configure mappings in dialogs.

More detailed list of changes.

Packaging:
 - Removed -Werror in tests from non-developer builds.

Command-line mode:
 - added :tree command that converts current view into a tree (thanks to
   filterfalse and Kornel);
 - added :dmap, :dnoremap and :dunmap commands to configure mappings in dialogs
   (thanks to Sassan Haradji, a.k.a. sassanh);
 - added "tree" parameter to :sync! that enables synchronization of tree view
   (thanks to filterfalse);
 - added :compare command to perform comparison in one or two directory trees
   (thanks to anonymous on SourceForge discussion forum and aleksejrs);
 - added :copen command to restore last menu that supports navigation (thanks to
   Sassan Haradji, a.k.a. sassanh);
 - added :screen! form that enables terminal multiplexers support (instead of
   toggling it as :screen does) (thanks to Marcos Cruz);
 - added :siblnext and :siblprev commands.  They change directory to next or
   previous sibling directories of current path (in global sorting order of
   current pane) (thanks to sudo-nice);
 - made :put, :touch and :mkdir accept [line] range, which can be used to
   specify target position in tree-view (thanks to filterfalse);
 - accept paths in :touch, not just file names (thanks to filterfalse);
 - disallow applying :chmod on ".." entry;
 - disallow selecting ".." entry with :select command.

Macros:
Subject SHA-1 Author Date
Version v0.9-beta 2e607e911415697ff680b9c9ed86fd04cf40e916 xaizek 2017-06-04 13:29:53
Update NEWS file for v0.9 beta c64af3b5624a5bd5a9f4643a4c0352052d1a2ae9 xaizek 2017-06-04 13:26:19
Tiny fixes in the ChangeLog 8b0e9fb41fb369412736893fce7f3755abff4be7 xaizek 2017-06-04 11:55:49
Update menu ruler on reentering menu mode a743ba63ca284201eb918c06e3403e0a7ced61e4 xaizek 2017-06-04 11:54:27
Do not use :drop for :EditVifm 1fe07e2f4e78333087224b2a257f079bd1155987 xaizek 2017-05-30 12:54:31
Fix plugin in versions of Vim where :argadd broken f66dec79beaf0558578393b98a9e87346eb86088 xaizek 2017-05-28 20:56:13
Try to not leak memory in compare.c:put_file_id() dc6ce3dd3cb32b8918898608f000f428e34edcc1 xaizek 2017-05-26 14:45:44
Do not call qsort() will first NULL argument a9c9b6b699fa39ac3a5b9386f57f272bff5d0214 xaizek 2017-05-26 14:44:50
Reduce variable scope in make_diff_list() 2c30364047be15b93bbbcf507e6bd5f71fa057cd xaizek 2017-05-25 20:40:45
Free files variable in vifm_main() 42306a31c1fe88b35a577c24e2e28d7c65a28e2b xaizek 2017-05-25 12:37:06
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master