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:left nmap :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.
Leave a Reply