File | Mode | Size |
---|---|---|
build-aux/ | 040000 | |
data/ | 040000 | |
patches/ | 040000 | |
pkgs/ | 040000 | |
scripts/ | 040000 | |
src/ | 040000 | |
tests/ | 040000 | |
.gitignore | 100644 | 574B |
AUTHORS | 100644 | 5,891B |
BUGS | 100644 | 1,478B |
COPYING | 100644 | 18KiB |
COPYING.3party | 100644 | 13KiB |
ChangeLog | 100644 | 240KiB |
ChangeLog.LuaAPI | 100644 | 10KiB |
FAQ | 100644 | 5,559B |
HACKING.md | 100644 | 17KiB |
INSTALL | 100644 | 8,235B |
Makefile.am | 100644 | 508B |
Makefile.in | 100644 | 26KiB |
NEWS | 100644 | 312KiB |
README | 100644 | 2,075B |
README.md | 100644 | 6,985B |
THANKS | 100644 | 6,048B |
TODO | 100644 | 7,906B |
aclocal.m4 | 100644 | 48KiB |
configure | 100755 | 356KiB |
configure.ac | 100644 | 41KiB |
<img align="left" src="data/graphics/vifm.svg"/>
Vifm is a curses based Vim-like file manager extended with some useful ideas from mutt. If you use Vim, Vifm gives you complete keyboard control over your files without having to learn a new set of commands. It goes not just about Vim-like keybindings, but also about modes, options, registers, commands and other things you might already like in Vim.
Just like Vim, Vifm tries to adhere to the Unix philosophy. So instead of working solutions which are set in stone user is provided with a set of means for customization of Vifm to one's likings. Though builtin functionality should be enough for most of use cases.
Version 0.15. This file last updated on 12 June 2025.
Usage | Link |
---|---|
Website | https://vifm.info/ |
Wiki | https://wiki.vifm.info/ |
Q & A | https://q2a.vifm.info/ |
Reason | Channel |
---|---|
Bugs & Feature Requests | GitHub, SourceForge or via email |
Preferred place for asking usage questions | Posting on the Q&A site |
Read-only and very low traffic news mailing list | vifm-announce |
Usage | Where to find |
---|---|
Repositories | GitHub and SourceForge |
Vim Plugin | Repository |
Colorschemes (maintained) | Repository and colorscheme-previews |
Devicons/favicons | [1], [2] |
vifmimg (image preview) | Repository (using Überzug to display the images) |
sixel image preview | Repository (for Sixel-capable terminals) |
thu.sh (image preview) | Repository (Sixel or Kitty) |
More screenshots are here.
A good idea for quick start might be skimming over cheatsheet for the main
mode (that is Normal mode), reading some sections on basic usage on
the wiki and looking at sample configuration file (run
:edit $MYVIFMRC
).
How well Vifm will serve you in part depends on how well you understand its Vim-like nature. The following posts are highly recommended reads to help you improve with that: - Seven habits of effective text editing by Bram Moolenar - Your problem with Vim is that you don't grok vi by Jim Dennis
Below are some suggestions on how Vifm can be installed in various environments using methods most native to them.
OS, distribution or package manager | Installation command |
---|---|
Alpine | apk add vifm |
Arch and derivatives (e.g., Manjaro) | pacman -S vifm |
Debian and derivatives (e.g., Ubuntu) | apt install vifm |
Fedora and derivatives (e.g., Rocky, Qubes OS, RHEL) | dnf install vifm or yum install vifm |
FreeBSD | pkg install vifm |
Gentoo | emerge vifm |
Guix | guix package -i vifm |
Linuxbrew | brew install vifm |
NetBSD | pkg_add vifm or pkgin install vifm |
Nix | nix-env -i vifm |
OpenBSD | pkg_add vifm |
OpenSUSE | zypper install vifm |
Slackware | sbopkg -i vifm |
macOS | brew install vifm or port install vifm |
In case of a Linux distribution which doesn't package Vifm or which offers an
outdated version, an AppImage binary can be used to avoid compiling from
sources. This method of installation requires downloading an .AppImage
file
on a system younger than 10 years with a FUSE-capable kernel and marking that
file as executable.
As a convenience, here are commands that download AppImage binary for the latest
release and save it as ~/.local/bin/vifm
(thanks to @benelan, see
GitHub#975).
curl
+ sed
curl -Lso ~/.local/bin/vifm \
"https://github.com/vifm/vifm/releases/latest/download/vifm-v$(
curl -Ls "https://api.github.com/repos/vifm/vifm/releases/latest" |
sed -nE '/"tag_name":/s/.*"v*([^"]+)".*/\1/p'
)-x86_64.AppImage" && chmod +x ~/.local/bin/vifm
wget
+ jq
wget -qO ~/.local/bin/vifm "$(
wget -qO - "https://api.github.com/repos/vifm/vifm/releases/latest" |
jq -r '.assets[] | select(.name|endswith(".AppImage")) | .browser_download_url'
)" && chmod +x ~/.local/bin/vifm
GNU General Public License, version 2 or later.