At long last: A look at vifm

I’m not a huge vi/vim fan. I use vim on a daily basis for editing text files and for writing up blog posts, but I have no passion for it one way or another. I know how to use the basic functions, I can search and replace, I have screen wrapping without inserting line breaks, and so forth. I am a casual user.

And I can say that about most any console text editor. I know how to get myself into and out of emacs, but what it does beyond text editing doesn’t really enthuse me. I started out with nano and in my humble opinion, that’s the easiest on the new people. I even have a handle on some of the more obscure editors, like joe or e3 or even some built-in editors in other programs.

My point here is, I am not one of those people who goes looking for vi-cloned software because I like the keystrokes, or the command system or the philosophy. I am more than capable of picking up something completely alien to vim and learning how to use it.

On the other hand, vifm does have a certain appeal.

ncurses-based, quick and speedy, spartan, functional, not frilly or overburdened. And the “appeal” I mentioned might just be the logical analogy between the text editor and the file manager.

For example, typing dd while a file is highlighted deletes the file. In vim, the same keyset — dd — deletes a line of text. The navigation keys in vi — which I believe hearken all the way back to the prehistoric age of computing ๐Ÿ˜› — work as navigation keys in vifm, with the left and right commands pushing up or down in the folder tree. The double-y command yanks a file, and p pastes it back into place, for an efficient and obvious file-movement sequence.

The man page for vifm will tell you everything you need to know, and the :help command — a godsend in vim — might also give you a few clues (the Arch version is hiding somewhere though ๐Ÿ˜ ). But of course, and the real point of this is that, if you’re already a vi/m user, you won’t need a man page to get started. You should know, or be able to deduce, most of the commands from the first starting of the program, and without too much struggling.

Beyond simple navigation and file movement though, the :com command is what you will probably like most of all. I only barely scratched that point, but that seems to be where all the fun stuff is.

vifm is a good deal lighter than mc, and if you’re one of that dying breed, the Unix purist, vifm will probably appeal to your sense of philosophy too. I can give it a thumbs-up as a clean, fast, precise tool that you can learn in a matter of seconds if you already know the basics of vi/m … and in only a matter of minutes if you don’t.

For my own part, I am steeped in the days of Norton Commander and its progeny, so I believe I shall stick with Midnight Commander. It just feels right for me, and like I said, I am not so much a vim proponent that I find vifm overwhelmingly preferable. Check it out and make your own judgement though. It’s all about freedom. ๐Ÿ˜‰

9 thoughts on “At long last: A look at vifm

  1. Jason Ryan

    The help text, in Arch, should be in /usr/share/vifm/vifm-help.txt –or at least that is where I found mine…

    Another little hack, if you are a keen vim user, is to change the command key from : to ; which fits nicely when you map that key in vim…

    Reply
  2. skingrapher

    I’m a basic vim user and I find vifm is easier than mc to use for me. But vimd has also a plugin to manage files : it’s NERDTree.

    So, it seems to me that both make the same job.

    Thanks for your post.

    Reply
  3. Jan

    Okay, here is the old dude’s take.
    1996:
    OS: Slackware 1.?
    Hardware:
    Tandy MMPC-10
    4 MB (RAM)
    512K (V-RAM)
    486 SX/25
    I ran Linux for a year following a basic setup:
    tty1: mc
    tty2: jed
    tty3: debugging my crappy code

    Reply
  4. Pingback: Links 6/4/2010: Parallels and Ricoh Join The Linux Foundation; PC-BSD 8.1 | Techrights

  5. Pingback: Something old, something new: Console file managers « Motho ke motho ka botho

Leave a reply to skingrapher Cancel reply