10 Essential vifm Tricks Every Power User Should Know

Customize vifm: Configurations and Plugins to Boost Productivity

What vifm is

vifm is a keyboard-driven, ncurses-based file manager inspired by vi/vim that provides dual-pane browsing, powerful file operations, and extensive customization through a configuration file (/.vifm/vifmrc) and plugins/scripts.

Key customization areas

  • vifmrc settings — central config (/.vifm/vifmrc): mappings, options, colors, commands.
  • Key mappings — remap keys with :map, :nmap, :imap to add shortcuts or mirror your vim setup.
  • Commands & user functions — define custom commands with :command and :cmap to automate tasks.
  • Filetype and view rules — use :set and autocommands (augroup/au) to adjust view, sort, and hidden files per directory or pattern.
  • Statusline & layout — configure statusline format and dual-pane sizes for more info and focused workflow.
  • Colorschemes & UI — create or load colorschemes; tweak icons and display options.
  • Integration & external tools — configure external editors, previewers (ranger/less/mediainfo), and terminal multiplexers.
  • Plugins & scripts — add scripts (shell, python, lua) to extend behavior (see examples below).

Practical tweaks (examples you can add to ~/.vifm/vifmrc)

  • Vim-like keybinds:
    nmap  :leftnmap  :right
  • Open files in vim:
    set editor=vimcmap e $EDITOR %f
  • Quick archive extraction:
    command! Extract !tar -xvf %f
  • Show hidden files by default:
    set hidden
  • Custom statusline:
    set statusline=%f %y %m %p%% %l:%c

Useful plugins / script ideas

  • Fuzzy file finder — integrate fzf for quick file jumping.
  • Git integration — script to show git status and stage/commit files.
  • Image/preview pane — use an external previewer to show thumbnails or metadata.
  • Batch renamer — a script to open selections in an editor for mass renames.
  • Filetype actions — scripts to transcode media, convert documents, or open with preferred apps.

Productivity tips

  • Mirror your vim config (mappings, leader key) to reduce context switching.
  • Use macros and custom commands for repetitive operations.
  • Bind common shell commands (rsync, git, tar) into vifm commands.
  • Keep a small, well-organized vifmrc — group related settings and comment heavily.
  • Version-control your vifmrc to sync configs across machines.

Where to find more

Check vifm’s manpage and online documentation for full command syntax and examples.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *