SkillAgentSearch skills...

Vifm

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.

Install / Use

/learn @vifm/Vifm

README

Vifm – Vim-like file manager

<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 9 February 2026.

Resources and Contacts

| Usage | Link | :---: | :--: | Website | https://vifm.info/ | Wiki | https://wiki.vifm.info/ | Q & A | https://q2a.vifm.info/

Communication

| 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

Other resources

| Usage | Where to find | :---: | :-----------: | Repositories | GitHub and SourceForge | Vim Plugin | Repository | Colorschemes (maintained) | Repository and colorscheme-previews | Configuration example | vifmrc and a piece of .bashrc | 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)

Screenshots

Screenshot Screenshot

More screenshots are here.

Getting Started

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:

Installation

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

AppImage

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). Note that helpers like vifm-pause (used by :!!) aren't accessible in AppImage before v0.15.

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

License

GNU General Public License, version 2 or later.

View on GitHub
GitHub Stars3.2k
CategoryDevelopment
Updated4h ago
Forks140

Languages

C

Security Score

100/100

Audited on Apr 1, 2026

No findings