From Vifm Wiki
Revision as of 13:51, 26 July 2015 by (talk) (typos)
Jump to: navigation, search

Why Vifm

Interesting capabilities

  • Works on all widely used operating systems.
  • Very easy to start if you grok Vim.
  • Can be used remotely over SSH.
  • Friendly to terminal multiplexers.
  • Low on resources.
  • Depends only on a few libraries (curses and regex).

Vifm or ranger

For some reason people tend to try to compare Vifm and ranger, which is incorrect. Comparing two applications that follow different ideas won't lead to any results. Most significant common things:

  • They both are file managers.
  • They both claim to have vi-like key bindings.

Although it might seem to be sufficient to start comparing them, it's not. And the reason why you can't compare them is that these two applications go different paths to implement both file managing and vi-like behaviour.

Vifm does have Vi in its name for a reason and while ranger can be called vi-like application, being such is not its main goal. Contrary to ranger Vifm tries to be not just "vi-like file manager", but rather "vim among file managers".

One can't really compare them in detail because they are so much different in general. Even if one tries, it's easy to see how much they differ (the comparison is far from being complete as stated above, it's just to demonstrate the point):

Differences between Vifm and ranger
Vim-like characteristic Vifm ranger
Command line Yes Similar
Options Yes Partially
Completion Yes No
Bindings Yes Similar
Bindings configuration Yes Similar
Scripting Partially Limited
Window system Partially No
Modes Yes No

ranger has some features that are absent in vifm and vice versa, those are not listed if they are not very related to how much applications are Vim-like.

Note that this is not a try to say something bad about ranger, not at all. If something is wrong, it must be corrected; missing information can be added. The idea of this subsection is to show that Vifm and ranger should not be directly compared, each of them go different ways in both file managing and interacting with user.

The bottom line is that Vifm aims to give Vim-addicted users similar application for managing files and ranger is a nice file manager with vi-like stuff. These are different applications with different goals that do not compete with each other.

How not to use Vifm

Do not use Vifm as your main application at the computer:

  • it's not a launcher of all kinds of applications, it's a file manager that supports file associations;
  • it's not an environment to spend your life in, it's one of many tools, interleave use of Vifm with Vim, shell and other applications.

When and how to use Vifm

Main points:

  • Integrate Vifm within your system.
    • Run other applications from Vifm (e.g. Vim).
    • Launch Vifm from other applications (e.g. Vim, Mutt).
    • Use it as file picker from other applications.
  • Communicate data from Vifm to other applications and vice versa:
    • Pass list of files to other applications.
    • Process input of external tools.

Generic examples:

  • If you know a way to do something more efficient in a shell, write a script and invoke it from Vifm or run external shell command if it's convenient, otherwise run shell and do it there.
  • If you know an application that fits better, create a command and/or script to run it in directory of current pane and maybe pass current selection to it.