A keyboard-first two-pane filer. The mouse works too; this manual centers on the keys.
Requires macOS 12 (Monterey) or later.
.. is not counted. With tags it shows 3 / 12, then the sort. With no tags it shows only the file count. On the active bar the count inverts so it stays visible. Search shows the number found the same way, 3 / 12 when files are tagged. The leave hint is on the bottom row. The tag count and tag marks stay on that pane when it is not active. They are not shown on the preview. While Quick Look is showing, the right end says QuickLook. Image and video previews show pixel size and camera name at the right end| Key | Screen |
|---|---|
| ⇧1 / ⌘1 | Single Filer Mode. Left filer + right VIEWER (startup default) |
| ⇧2 / ⌘2 | Dual Filer Mode. Filer on both sides. Search, the viewer, the editor, and the gallery open on the focused side |
| G | Gallery on that pane. G again returns to the filer |
| F / ⌘F | File search. In Dual Filer Mode, on the focused side. Two searches stay separate |
| W | Switch between Single Filer Mode and Dual Filer Mode. Dual Filer Mode activates the right pane. Single Filer Mode activates the left. An unsaved editor asks before the switch |
In Dual Filer Mode, the header of the side that does not have focus is a gray bar.
The window title is VLE-Ben - FILER: path: VLE-Ben, then the focused header. The tab name is only that header. A filer shows FILER: path, and an editor or viewer shows EDITOR: name. An unsaved editor adds * after the name.
| Key | Action |
|---|---|
| ↑ ↓ | Move the cursor in the list |
| ⇧↑ ⇧↓ | Select a range from the current row (same as ⇧-click. A plain ↑↓ clears the range) |
| ⌘A | Select every file and folder on screen (.. is left out. In a text field or the EDITOR it selects all text) |
| Home / End | First / last row |
| Page Up / Page Down | One page |
| Enter | Enter a folder or archive. A symbolic link to a folder opens the target; a link to a file moves to that file’s folder and selects it. While extensions are shown, applications and document packages are entered as folders. While they are hidden, you stay outside. A disk image is mounted and you move onto that volume. |
| Backspace / - | Go to the parent (leave an archive). At the root of a disk image, go to the folder that holds the image |
| Tab | Switch focus between left and right. The editor does not switch |
| ⇧Tab | In two panes, swap the contents. Focus stays on the same side. The editor does not swap |
| ⌃Tab / ⌃⇧Tab | Next tab / previous tab |
| ← → | Move between panes (in the tree, collapse / expand) |
| ⇧← ⇧→ | Always move focus to the left or right pane |
| ⌘← ⌘→ | Move focus between panes in every layout |
| H / ~ | Go to the home folder |
| / | Go to the root (/) |
| O | Go to the startup folder. If none is set, or that folder is gone, go home |
| ⇧O | Set the folder you have open as the startup folder |
| V | Move from the list of mounted volumes. A removable volume is unmounted with the icon on the right or with U, after a confirmation. |
| B | Folders left since launch. The previous folder is first. Choose one to go there |
| J | Jump (remembered folders) |
| ⇧J | Open a saved pair of left and right folders |
| + | Add the folder you have open to Jump |
| Kind | Appearance |
|---|---|
| Folder | Always-preview shows the icon. The name follows the filer, including extensions and localized names |
| Text | Up to about 64 KB from the start. BOM, then strict UTF-8, then UTF-16 from a NULL pattern, then the Mac language (Japanese: CP932 / Shift_JIS, EUC-JP, Windows-1252. Western languages try Windows-1252 first) |
Markdown (.md / .markdown) | Headings are colored and table columns line up. E shows the source |
HTML (.html / .htm) | The VIEWER shows only the text of the body. E opens the source in the EDITOR |
| Image | Scaled to fit the pane. Pixel size and camera name appear at the right end |
| APNG / animated GIF | A still frame, plus a frame stepper at the upper right |
| Page view. With focus on the right pane, ↑↓ scrolls | |
Application (.app) | Always-preview and search show the icon, with the file name under it |
Document package (.pages / .key / .numbers / .rtfd / .egwud / .egwut) | Always-preview shows a preview. Enter steps inside while extensions are shown. While they are hidden, you stay outside. The preview is the same. An old Keynote is not previewed |
| Video | Quick Look, and it does not autoplay. .mov has playback controls and opens paused. Pixel size and camera name appear at the right end |
| Audio | Quick Look, and it does not autoplay |
Word-like (.doc and similar) | Text is extracted when that works. Otherwise Quick Look |
Disk image (.dmg / .sparseimage and similar) | Enter mounts it and moves onto that volume. A writable image allows copy, move, and delete inside. Going to the parent from the root returns to the folder that holds the image |
A large text file is cut off if loading takes too long. Speed comes first.
When it is on, the right pane follows the selection in the list. While the selection is cleared, the right pane is empty too. The next ↑ or ↓ shows that file again. While extensions are shown, Enter steps inside; while they are hidden, you stay outside. The preview is the same. An FTP folder is not downloaded; the right pane says “Always-preview does not run for FTP”. A file that was opened once and is still cached is shown from that cache.
Notes:
F0–FC appear, in which case it is CP932. Saving keeps the encoding the file was opened with| Key | Action |
|---|---|
| Space | Tag a file and move to the next row (folders cannot be tagged. Files inside an archive can). When the right preview has focus, Space scrolls the preview down one screen |
| ⇧Space | Clear tags on the focused pane. When the right preview has focus, the preview scrolls up one screen |
| Y | Tag by wildcard (for example *.pdf). Files inside an archive can be tagged |
When any file is tagged, copy, move, and delete use the tags on the focused pane. Moving to another folder on that pane clears that pane’s tags. Moving the cursor or the folder on the other pane does not. With no tags and no mouse selection, copy and move use the file or folder under the cursor, and delete uses the file under the cursor (delete a folder with ⇧D).
You can work on items in the current folder with the mouse. This is separate from tags (*).
..) and choose copy or move into that folder| Key | Action |
|---|---|
| C | Copy. Out of a ZIP, and into a ZIP, both work |
| M | Move (a move inside the same folder is refused). Inside a ZIP, the item is removed after it has been copied out. A read-only archive refuses the move |
| D | Delete (tagged files, or the file under the cursor). Inside a ZIP, that item is removed from the archive |
| ⇧D | Delete the selected folder. Inside a ZIP, that folder and everything under it are removed |
| N / R | Rename |
| K | New folder |
| I | New empty file |
| A | Attributes (mode, date, time). The file name is shown in full at the start. Owner / Group are displayed |
| X | Open in the associated app (choose when there are several) |
| ⇧X | Type arguments after the file under the cursor and run it once in the current folder. Enter runs, Esc cancels. A file with the execute bit, or .sh .bash .zsh .command, can be run. Words inside quotes are one argument. Pipes and other commands cannot be entered. When it finishes, the result is shown. If there is no output and the exit code is 0, it says “Finished”. Unavailable inside an archive and on FTP |
| Z | ZIP compress. Confirm the file name and press Enter. One item starts as “name.zip”; several start as “Archive.zip”. A name without an extension gets .zip. If that name already exists, the prompt shows a warning |
| U | Extract. Confirm with Enter (Esc cancels). The right-click Extract command asks the same way. The zip / tar / tgz / lzh under the cursor is unpacked into the current folder. A single top-level folder stays as it is. Loose items go into a folder named without the extension. Existing files are not overwritten. If that folder already exists, nothing is extracted. A zip also restores the execute bit, symbolic links, and the zip's quarantine, so an extracted app can launch. Unavailable inside an archive and on FTP |
| Key | Action |
|---|---|
| ⇧F | Filter the names on screen. Esc ends it |
| S | Sort (name / date / size). The current sort is on that pane’s bar, as SORT:NAME. A click cycles NAME → TIME → SIZE |
| L | Localized names (Documents becomes 書類, and so on) |
| . | Show or hide hidden files |
| ⇧. | Show every filename extension (the same idea as Finder. Off follows each file’s “hide extension” flag). .localized is hidden while this is off and shown while it is on. On: applications and document packages open as folders, and the extension is shown. Off: they stay packages and you do not enter them. The preview is the same |
The first time, extension display follows Finder’s “Show all filename extensions”. After you toggle ⇧. once, the app keeps its own setting. The size column of a package (an application or a document) is that file’s size, not a folder’s <DIR>.
That pane shows the same files as the filer, as thumbnails and file names. Images use a thumbnail. Other files use an icon. The title bar matches the filer. Preview, Enter, and the right-click menu match the filer. When a file has no preview, the viewer shows its icon. In Single Filer Mode it is on the left. In Dual Filer Mode it is on the focused side. G again returns to the filer.
The left pane becomes search. Spotlight looks under the folder you name. From the top: Place, then Find.
Place starts as the current folder when search opened. The name follows localized names. Editing the path limits the search to that folder and below. ~ and a path relative to that current folder both work. An empty field returns to the current folder from when search opened.
Find is one word. Nothing is searched while it is empty. There are no wildcards.
Match is Name only or Include text. It starts as name only. Include text searches both file names and indexed contents under that place. On that row, ←→ or Space switches it.
.. or Backspace goes to the parent. At the top of the archive, that is the folder that holds the file. Esc returns to the search results.dmg / .sparseimage and similar) mounts it and moves onto that volume. Going to the parent from the root returns to the folder that holds the image| Color | Meaning |
|---|---|
| Cyan | Folder |
| Pale green | Folder shown with a localized name |
| Yellow | Compressed archive, disk image (.dmg and similar) |
| White | File you can read and write |
| Purple | File you can read but not write |
| Blue | Folder you cannot open |
| Red | File you cannot open |
| Key | Action |
|---|---|
| ⌘R | Reload the focused side |
| ⇧⌘R | Reload both sides |
Folders are watched and refresh when something outside the app changes them (the inside of an archive is not watched). Bringing the window forward reloads as well.
Q asks “Quit?” and then quits. ⌘Q quits without that question. When the editor has unsaved changes, both ask “Save?”. Save writes the file and then quits.
FTP Connection… on the VLE-Ben menu stores explicit-FTPS connections. It opens on the list. Order is by server name, and by account name when the server is the same. ↑↓ selects a row, and Enter opens that setup. New starts a blank setup. In the setup, ↑↓ moves between fields. Space toggles FTPS and passive. Enter saves and returns to the list. Esc returns to the list without saving. On the list, Del asks before deleting, and Esc closes. A password no other connection uses is also removed from the Keychain. The defaults are explicit FTPS, port 21, and passive. To enter a public folder, put /public_html in the start folder. The password stays in the keychain.
In the V volume list, disks come first, then iCloud Drive when you use it, then the saved FTP connections. A removable disk has an icon on the right of the row; click it or press U to unmount after a confirmation. The startup disk has no icon. The label is user@server, in the same order as the FTP setups (server name, then account name on the same server). Enter on an FTP row opens the start folder. In one pane (viewer or gallery) that is the left side; in two panes it is the selected side. The other pane stays as it is, so both sides can be FTP. Enter on a folder, and .. goes to the parent. You cannot go above the server root. The left of the title says FTP. The dot on the right of the title stays visible even when that pane is inactive. Green means connected; red means disconnected.
Transfers and deletes show the file name and File 2 / 5. Esc cancels. A drop of files or folders from the other pane or from Finder uploads into the open current folder. The confirmation is the same as C. C copies to the other pane. The prompt shows From and To. Move (M) is the same. Delete (D / ⇧D) shows only From. FTP to local is a download, local to FTP is an upload, and FTP to FTP downloads to local first and then uploads. In one pane, type a local absolute path. You cannot copy into the same folder, or copy a folder into itself. After you confirm, a name that already exists directly in the destination asks overwrite, skip, or abort. ⇧Enter applies that choice to the remaining names. D deletes tagged files or the file under the cursor from the server. ⇧D deletes the folder under the cursor. Nothing goes to the Trash. N renames, K makes a folder, and I makes an empty file. Enter on a file downloads it once and views it. Always-preview does not run on FTP; the preview says “Always-preview does not run for FTP”. A file that was opened once and is still cached is shown on the right. E downloads to a temporary file, and saving sends it back to the server.
Save on the File menu writes the editor’s contents. It is gray when the editor is not open.
From the Edit menu:
From the View menu:
With no modifier:
C M D N K I A X Z U · E T G P W · F S L · B J H O V Y · Q
While Shift is held:
⇧D ⇧X ⇧Space ⇧. ⇧O ⇧J ⇧F · ⇧← ⇧→ · ⇧1 ⇧2 ⇧3 ⇧4
While fn is held:
F3 F4 F5 F6 F7 F8 (Enter, edit, copy, move, new folder, delete. The same as E C M K D)
(Labels follow the display language. For example X = Exec, P = Preview.)
The status chips at the right end also toggle when clicked. PREV is always-preview, .* is hidden files, and EXT is filename extensions. The sort is on the pane bar.
When the active pane is FTP, unavailable commands are dimmed: move, attributes, exec, Shift-X, compress, tree, extract, wildcard, and set startup folder. Move is also dimmed when the other pane is FTP. Gallery and file search are dimmed when the left pane is FTP. On a row’s right-click menu, exec, attributes, move, and compress are unavailable under the same conditions.
FDclone (lowercase only), FILMTN, and VLE-Ben. An em dash means no binding.
| Key | FDclone | FILMTN | VLE-Ben |
|---|---|---|---|
| A | Change attributes | Change attributes | Change attributes |
| B | Backup to tape | — | Back |
| C | Copy | Copy | Copy |
| D | Delete file | Delete file | Delete file |
| E | Edit file | Start editor | Editor mode |
| F | File search | File search | File search |
| G | — | — | Gallery |
| H | Run a child process | Change directory | Go to the home folder |
| I | File system information | Create an ish/maj file | New empty file |
| J | — | Directory jump | Directory jump |
| K | Make directory | Make directory | Make directory |
| L | Change directory | Change current drive | Toggle localized names |
| M | Move | Move | Move |
| N | — | Rename | Rename |
| O | — | — | Go to the startup folder |
| P | Compress | Always-preview | |
| Q | Quit | Quit | Quit |
| R | Rename | Run | Rename |
| S | Sort | Sort | Sort |
| T | Tree view | Tree view | Tree view |
| U | Expand archive | Extract / restore ish·maj | Extract |
| V | View file | Show file | Choose a volume |
| W | Write the displayed directory | Write the sort result | Switch layout |
| X | Execute file | Execute command | Open by extension |
| Y | — | Change wildcard | Bulk wildcard |
| Z | — | Compress COM/EXE | ZIP compress |
lsar/unar or lha (Homebrew or similar) has to be installed separately.dmg / .sparseimage and similar mount with Enter. An image that needs a password follows the prompt macOS shows