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.
File Mode Size
src/ 040000
AUTHORS 100644 1,378B
BUGS 100644 72B
COPYING 100644 18KiB
ChangeLog 100644 7,418B
INSTALL 100644 1,448B
Makefile.am 100644 74B
Makefile.in 100644 22KiB
NEWS 100644 0B
README 100644 1,758B
TODO 100644 1,000B
acconfig.h 100644 195B
aclocal.m4 100644 331KiB
autogen.sh 100755 4,499B
config.guess 100644 44KiB
config.h.in 100644 3,221B
config.sub 100644 32KiB
configure 100755 451KiB
configure.in 100644 3,992B
depcomp 100755 14KiB
install-sh 100755 7,122B
ltmain.sh 100755 276KiB
missing 100755 10KiB
mkinstalldirs 100755 1,988B
stamp-h 100644 10B
stamp-h.in 100644 10B

See the INSTALL file for building instructions and the TODO file for what
still needs to be implemented.

If you are interested in playing with the source code.

src/background.c - runs commands in background
src/bookmarks.c - stores information about bookmarked directories
src/cmdline.c - command line mode
src/color_scheme.c - color schemes
src/commands.c - handles command line commands
src/config.c - read and write vifmrc
src/crc32.c - calculate CRC32 checksum for file
src/dir_stack.c - for :pushd and :popd commands
src/file_info.c - Control+G
src/file_magic.c - determines programs associated with file using its mime-type
src/filelist.c - display/redraw/fill list
src/fileops.c - delete/copy/put selected file(s)
src/filetype.c - stores filetype information from vifmrc
src/keys.c - analyzes users input
src/main_loop.c - the main loop
src/menu.c - handles commands in menus
src/menus.c - handles all kinds of menus
src/modes.c - general code (e.g. before and after key pressed) for modes
src/normal.c - normal mode commands
src/opt_handlers.c - initialization of options and option change handlers
src/options.c - :set command
src/permissions_dialog.c - permissions set dialog
src/registers.c - realization of registers
src/search.c - code for / and ? commands of normal mode
src/signals.c - handlers for different signals
src/sort.c - sort function
src/sort_dialog.c - dialog to choose sort type
src/status.c - definition of global status structure
src/tree.c - cache for ga command results
src/ui.c - setup_ncurses_interface() and other ui related functions
src/utils.c - various utilities (e.g. functions to handle utf8 strings)
src/vifm.c - contains main() which does basic initialization
src/visual.c - implementation of visual mode commands

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