Ecosyste.ms sponsors
An open API service aggregating public data about GitHub Sponsors.
An open API service aggregating public data about GitHub Sponsors.
Vifm is an ncurses based file manager with Vim-like everything, which also borrows some useful ideas from mutt.
Funding Links: https://github.com/sponsors/vifm, https://www.blockchain.com/btc/address/bc1q2cj8wk6l8z5deerg5za4c672uu6vmzzymwyejn
Vifm strives to be Vim among file managers and make file operations feel as natural as text editing.
The story so far
The project has been around for a while: originally developed by Ken Steen and since 2011 by me, xaizek. Here is a summary of the most significant changes in over a decade of my maintainership:
fixed segmentation fault which prevented me from running Vifm for the first time :)
Vim-like functionality was implemented as a set of modules emulating Vim's behaviour (parts of it can even be used as a C++ library)
implemented undo and redo of operations, which despite having nearly zero changes in a decade seems to have no competition to this day
single configuration file (of a custom format which was rewritten by Vifm on exit) got split into vifmrc with :commands and vifminfo (later superseded by vifminfo.json)
merged Unix and Windows code bases together
provided builtin implementation of file operations in addition to one that relies on POSIX utilities (not on Windows)
various new views (column, grid, tree, miller, compare, explore)
portion of test code changed from 0% to about 35% (depends on how you count)
line coverage raised from 0% to 74%
manual page went from 179 lines to over 6000
new site, added Q&A and Wiki
got positive feedback about the project from Ken Steen and regular users :)
In addition to that, various projects were developed for the purpose of maintaining Vifm:
tests are written using stic based on seatest
coverage is measured by uncov
code changes are reviewed using zograscope
PDcurses was patched to work better on Windows (partially upstreamed)
self-hosted CI is running fragile CI
Vim version of the documentation is converted to HTML using vimdoc2html
Future prospects
Nowadays significant portion of time for a single change is spent on documentation and tests, which results in a much more solid project, but can make even trivial changes feel hard. This is one of the reasons, why activity is not very high at times.
At the same time there are still many things to improve:
address issues/suggestions/requests which piled up over the years
a proper user manual explaining features in addition to existing reference documentation
supporting extended keys better
configuration has accumulated a number of deficiencies over the years and can be improved
taking customization and integration with environment to a new level via Lua scripting
maybe even adding a GUI version one day
What it buys
Your support will:
add to motivation and make improvements happen at a faster rate
will raise priority of your issues
might allow bounties for issues to attract more contributors
I can mention you in some file/release/site if you want :) just not sure how useful this actually is
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.
Language: C - Stars: 2757Vim plugin that allows use of vifm as a file picker
Language: Vim Script - Stars: 335Various colorschemes for vifm file explorer.
Language: - Stars: 222