Alternatives To Fff
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
a day ago20July 26, 20224bsd-2-clauseC
n³ The unorthodox terminal file manager
3 hours ago68September 21, 2022318mitJavaScript
📻Terminal/ssh/telnet/serialport/sftp client(linux, mac, win)
Lf5,65313 days ago41April 25, 2021200mitGo
Terminal file manager
a month ago1March 03, 202157mitShell
📁 A simple file manager written in bash.
6 days ago124September 11, 20229mitRust
A hackable, minimal, fast TUI file explorer
6 hours ago243gpl-2.0C
Linux port of FAR v2
a month ago1lgpl-3.0Python
ssh rdp vnc telnet sftp bastion/jump web putty xshell terminal jumpserver audit realtime monitor rz/sz 堡垒机 云桌面 linux devops sftp websocket file management rz/sz otp 自动化运维 审计 录像 文件管理 sftp上传 实时监控 录像回放 网页版rz/sz上传下载/动态口令 django
20 days ago3July 08, 202231lgpl-3.0Rust
ranger-like terminal file manager written in Rust
16 hours ago11gpl-2.0C
The shell-like, command line terminal file manager: simple, fast, extensible, and lightweight as hell
7 months ago2bsd-2-clauseVim Script
File manager for vim/neovim powered by n³
Alternatives To Fff
Select To Compare

Alternative Project Comparisons


fff is a easy-to-use terminal file manager written in GO.

This repo is now waiting for new features(error handling/generics) of golang 2



  • Cross platform: macOS, Linux, BSD(not tested), windows(todo) etc
  • Multiple contexts(aka tabs). Up to 4, use 1-4 key to switch through them
  • Bookmark support
  • Multiple directories show at mean time
  • Jump to any file item you can see
  • Filter file in multiple ways: by type, by modify time, by size, by name
  • Customizable key bindings
  • Spawn a sub shell in current directory
  • Edit and preview text file
  • Rename/Create files and directories
  • Batch copy/move files/directories from any where you selected
  • Copy with progress indicator
  • Use SSH as local directory
  • Use archive file as local directory


As it still under development, there is no pre-build binary available.

You can build it from source:

go get -u

Key bindings

      ↓, j    select next file                  ↑, k    select previous file                                                                                                                                
         J    select the last file                 K    select the first file
      →, l    open selected dir                 ←, h    close current dir
         f    filter files in current dir          F    clear filter
        ss    sort current dir by size            sm    sort current dir by modify time
        sn    sort current dir by name             g    refresh current dir
         d    toggle show file details             .    toggle show hidden files
         ,    remove the first opened dir     
         w    jump over all items displayed once   W    jump over all items displayed
         i    jump over the current dir once       I    jump over the current dir
1, 2, 3, 4    switch to corresponding context 
         ↵    open selected item use system default program
              ensure input (during input), cancel jump (during jump)
       esc    abort input (during input), cancel jump (during jump)
         m    toggle mark file                     u    toggle mark all items
         +    create new dir                       N    create new file
         R    rename selected file                 D    delete selected/marked items
         U    clear clips                          C    append selected/marked items to clip
         P    paste all cliped items to current dir
         M    move all cliped items to current dir
        bb    toggle show bookmark                bn    create bookmark
        bd    delete bookmark                 
        bw    jump over bookmark once             bW    jump over bookmark
 q, ctrl-q    Quit fff                             v    open selected file via pager
         !    start a shell in current dir         e    editor selected file
         ?    for help


Once fff is installed, use fff to start fff with current directory, or use fff PATH to specify the working directory.


Use h, j, k, lor ←, ↓, ↑, → to navigate item

Use J to select the last item, K to select the first item

Use . to toggle show hidden file, d to toggle show details

Use g to refresh the current directory

Use Enter ↵ to open selected item via system default application

Jump mode(aka ace jump)

Via jump mode, its able to jump to any items(file, directory, bookmark) displayed in the screen.


After enter jump mode, there are at most two characters will be displaed in the head of the item. Type these two characters could make the item selected.

The first character is the heading charactor of the item, the second one is generated alphabetically.

There are three type of jump mode

  • Jump over all, use key w or W
  • Only for bookmarks, use key bw or bW
  • Only for current directory, use key i or I

Uppercase key is used for continuous jump: it won't stop until the last jump is a file or an empty directory.


Filter is used to filter items in the current directory.

Use f to start input filters. Multiple filter can be combined(logical and) by a space.

Use F to clear all filters.

There are four type of filter:

  • By last modify time

    Filter start with + is a by mtime filter. Three time unit are supported: hhours, ddays, mmonths

    e.g. :

    +2m means file is modified in recent 2 months

    +10h means file is modified in recent 10 hours

  • By size

    Filter start with < or >is a by size filter. Three size unit are supported: kkibibyte, mMebibyte, gGibibyte

    e.g. :

    >1g means file size is greater then 1G

    <10.2mmeans file size is less then 10.2M

  • By type

    FIlter start with : is a by type filter. Only two type supported: f file, d directory

    e.g. :

    :f only show files

    :d only show directories

  • By name

    Otherwise the filter is a by name filter. The name of the file or directory must contains the entire string of the filter

Multiple filter example:

:f <1m +10d go means the item must be a file and the size of it must less then 10M and it is modified in recent 10 days and the name of it must contains go.

File operators

Use R to rename selected item

Use + to create new directory, use N to create new file

Use m to toggle mark item, use u to toggle mark all items in current directory

Use D to delete selected item or marked items

Use C to append selected item or marked items to clip for further use, use U to clear clip

Use P to paste clipped items to current directory and clear clip

Use M to move clipped items to current directory and clear clip


Create a text config file with extension .ssh.fff.


Key Description Mandatory Default value
host the ssh host IP or domain name true
user the ssh user false root
port the ssh port false 22
key absolute path of the private key file used for auth false
shell shell to use when spawn a new sub shell false bash
editor editor to use when edit remote file false vi
pager pager to use when view remote file false less
timeout ssh timeout false 3s (3 seconds)

e.g. :

user: jaco
key: /Users/jaco/.ssh/id_rsa

Auth sequence:

  1. Use key file if supplied
  2. Use ssh-agent
  3. Ask for password


All settings are placed in config.yml, to override it, copy it to ~/.config/fff/config.yml and change things according to the format.


  • [ ] File duplicate in current folder

  • [ ] Operates run in background with a spinner and cancelable

  • [ ] Windows support

  • [ ] Archive/Unarchive support(progress visible, cancelable)

  • [ ] FTP integration

  • [ ] HDFS integration(Maybe)

Popular Terminal Projects
Popular File Manager Projects
Popular Command Line Interface Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
File Manager
Ssh Client