A Day in Far Manager
Replacing my use of Windows Explorer and a separate command line window with Far Manager is the biggest productivity boost I've had in years. Few know about or how to use this tool, so I'm writing this blog post to show how it makes my daily computer tasks significantly quicker.
What is it?
Far Manager is a shell, similar to Bash or PowerShell, and has a text-user-interface, similar to Vim (don't worry, it's much more intuitive). It runs in the terminal of your choice. Here's Far running in the default Windows terminal.
You can get Far for Windows at https://www.farmanager.com or https://github.com/FarGroup/FarManager There's a Linux and Mac port of Far Manager available at https://github.com/elfmz/far2l. Rather than running in any terminal, this version renders to its own window.
ConEmu
I run Far in ConEmu, a terminal for Windows that has some specialized integration for Far Manager, such as click-and-drag support with other applications.
Though the deep blue has its life-long supporters, ConEmu makes it easy to use other color themes with Far.
ConEmu has "Tasks" which run a script at startup or when opening a new tab. I use these to run vcvarsall.bat, initializing Visual Studio command line tools, and then launch Far. Here's my task script if you're curious
Panels
Far has two file explorer panels, and I can switch between them with tab. Up and down arrow keys navigate items, enter or page-down goes into a directory, and page-up goes up a directory. I can jump to a specific item by holding alt and typing the item's name.
After launching ConEmu, both panels are in the default directory, Far's installation location. I can jump back to where I was yesterday by pressing alt+F12 to bring up folder history.
Doing some file system work
The task for today is adding a new NPC to my game. Pressing F7 opens a dialog to create a new folder. I'll type in a name and press enter.
Next I want to copy the data files from another NPC as a starting point. Tab switches to the other panel, and alt+F12 brings up folder history.
The most recent entry is the directory I just went to, so pressing enter sets the right panel to be in the same directory as the left.
On one panel, I'll navigate to the directory I want to copy from. On the other, I'll navigate to the directory I want to copy to. Pressing shift+down-arrow selects files, and F5 opens the copy dialog. The default path to copy to is the other panel's location, so just pressing enter will do the copy.
I need to make some changes to the newly copied text file. I'll use Far's built-in editor by pressing F4.
It's basically just notepad, but staying in one program is nice for quick, simple edits. Pressing F2 saves, and F4 closes.
I don't quite remember the syntax I had for defining which animations allow blinking. I can go to my root directory for entities and press alt+F7 to search.
This brings up a list of all files ending with ".entity" and containing the text "blink".
Now I need to add the blink code to the business man file. Rather than navigating back to it, pressing alt+F11 brings up view history, and I can open Far's editor from there.
Command Line
I'm ready to commit my changes. At the bottom of Far is a command prompt, and I can immediately start typing in it without having to focus it.
As I type, it comes up with a completion window, sorted by most-recently-used commands, and then others that complete to files in this directory.
To see the output of git status, I can hide the panels with ctrl+o, or press ctrl+arrow-keys to resize the panels.
Thumbnails
One thing Far is not good at is thumbnails. I want to look for a specific texture, and that would be easiest to do visually. ConEmu offers basic thumbnail support by pressing F11, then ConEmu Panel Views > Thumbnails mode.
This doesn't support custom thumbnails like what Blender or Clips Studio Paint files have in Windows Explorer. On occasions like this where I would prefer Windows Explorer, it's easy to open. Type a . on the command line and press enter. Explorer will open to the current Far directory.