FFF(1)                           User Commands                          FFF(1)

       fff - :rocket: fucking fast file-manager


       A simple file manager written in bash.

       j: scroll down
       k: scroll up
       h: go to parent dir
       l: go to child dir

       enter: go to child dir
       backspace: go to parent dir

       -: Go to previous dir.

       g: go to top
       G: go to bottom

       :: go to a directory by typing.

       /: search
       t: go to trash
       ~: go to home
       !: open shell in current dir

       x: view file/dir attributes
       i: display image with w3m-img

       down:  scroll down
       up:    scroll up
       left:  go to parent dir
       right: go to child dir

       f: new file
       n: new dir
       r: rename

       y: mark copy
       m: mark move
       d: mark trash (~/.local/share/fff/trash/)
       s: mark symbolic link
       b: mark bulk rename

       Y: mark all for copy
       M: mark all for move
       D: mark all for trash (~/.local/share/fff/trash/)
       S: mark all for symbolic link
       B: mark all for bulk rename

       p: paste/move/delete/bulk_rename
       c: clear file selections

       [1-9]: favourites/bookmarks (see customization)

       q: exit with 'cd' (if enabled).
       Ctrl+C: exit without 'cd'.

       # Use LS_COLORS to color fff.
       # (On by default if available)
       # (Ignores FFF_COL1)
       export FFF_LS_COLORS=1

       # Directory color [0-9]
       export FFF_COL1=2

       # Status color [0-9]
       export FFF_COL2=7

       # Selection color [0-9] (copied/moved files)
       export FFF_COL3=6

       # Cursor color [0-9]
       export FFF_COL4=1

       # Text Editor
       export EDITOR="vim"

       # File Opener
       export FFF_OPENER="xdg-open"

       # Enable or disable CD on exit.
       # Default: '1'
       export FFF_CD_ON_EXIT=1

       # CD on exit helper file
       # Default: '${XDG_CACHE_HOME}/fff/fff.d'
       #          If not using XDG, '${HOME}/.cache/fff/fff.d' is used.
       export FFF_CD_FILE=~/.fff_d

       # Trash Directory
       # Default: '${XDG_DATA_HOME}/fff/trash'
       #          If not using XDG, '${XDG_DATA_HOME}/fff/trash' is used.
       export FFF_TRASH=~/.local/share/fff/trash

       # Trash Command
       # Default: 'mv'
       #          Define a custom program to use to trash files.
       #          The program will be passed the list of selected files
       #          and directories.
       export FFF_TRASH_CMD="mv"

       # Favourites (Bookmarks) (keys 1-9) (dir or file)
       export FFF_FAV1=~/projects
       export FFF_FAV2=~/.bashrc
       export FFF_FAV3=~/Pictures/Wallpapers/
       export FFF_FAV4=/usr/share
       export FFF_FAV5=/
       export FFF_FAV6=
       export FFF_FAV7=
       export FFF_FAV8=
       export FFF_FAV9=

       # w3m-img offsets.
       export FFF_W3M_XOFFSET=0
       export FFF_W3M_YOFFSET=0

       # File format.
       # Customize the item string.
       # Format ('%f' is the current file): "str%fstr"
       # Example (Add a tab before files): FFF_FILE_FORMAT="%f"
       export FFF_FILE_FORMAT="%f"

       # Mark format.
       # Customize the marked item string.
       # Format ('%f' is the current file): "str%fstr"
       # Example (Add a ' >' before files): FFF_MARK_FORMAT="> %f"
       export FFF_MARK_FORMAT=" %f*"

       For more information see:
       ### Moving around.       a
       # Go to child directory. k
       export FFF_KEY_CHILD1="l"s
       export FFF_KEY_CHILD2=$'\pC' # Right Arrow
       export FFF_KEY_CHILD3="" a    # Enter / Return
       # Go to parent directory.e
       export FFF_KEY_PARENT1="h(
       export FFF_KEY_PARENT2=$'O[D' # Left Arrow
       export FFF_KEY_PARENT3=$'l77' # Backspace
       export FFF_KEY_PARENT4=$'d
       # Go to previous directory.
       export FFF_KEY_PREVIOUS="-"
       # Search.                r
       export FFF_KEY_SEARCH="/"m
       # Spawn a shell.         n
       export FFF_KEY_SHELL="!" a
       # Scroll down.           s
       export FFF_KEY_SCROLL_DOWN1="j"
       export FFF_KEY_SCROLL_DOWN2=$'\[B' # Down Arrow

       # Scroll up.
       export FFF_KEY_SCROLL_UP1="k"
       export FFF_KEY_SCROLL_UP2=$'\[A'   # Up Arrow

       # Go to top and bottom.
       export FFF_KEY_TO_TOP="g"
       export FFF_KEY_TO_BOTTOM="G"

       # Go to dirs.
       export FFF_KEY_GO_DIR=":"
       export FFF_KEY_GO_HOME="~"
       export FFF_KEY_GO_TRASH="t"

       ### File operations.

       export FFF_KEY_YANK="y"
       export FFF_KEY_MOVE="m"
       export FFF_KEY_TRASH="d"
       export FFF_KEY_LINK="s"
       export FFF_KEY_BULK_RENAME="b"

       export FFF_KEY_YANK_ALL="Y"
       export FFF_KEY_MOVE_ALL="M"
       export FFF_KEY_TRASH_ALL="D"
       export FFF_KEY_LINK_ALL="S"
       export FFF_KEY_BULK_RENAME_ALL="B"

       export FFF_KEY_PASTE="p"
       export FFF_KEY_CLEAR="c"

       export FFF_KEY_RENAME="r"
       export FFF_KEY_MKDIR="n"
       export FFF_KEY_MKFILE="f"

       ### Miscellaneous

       # Show file attributes.
       export FFF_KEY_ATTRIBUTES="x"

       # Toggle hidden files.
       export FFF_KEY_HIDDEN="."

Disabling keybindings
       You can't unset keybindings by making their value `''`.
       What you need to do is change their value to `off`.


       # KEY_GO_TRASH was bound to 't', now its unset.
       export FFF_KEY_GO_TRASH="off"

       # KEY_MKFILE is now set to 't' and its original
       # keybinding is also unset 'f'.
       export FFF_KEY_MKFILE="t"

Dealing with conflicting keybindings
       When rebinding a key in `fff` make sure you don't have two bindings
       with the same value. You can avoid this by setting the other
       conflicting key-binding to something else or by changing its value to `off`.

fff                              January 2019                           FFF(1)