Keep those files organized
A terminal based file manager
curl -sfL https://raw.githubusercontent.com/mistakenelf/fm/main/install.sh | shgo install github.com/mistakenelf/fm@latest
Install through the Arch User Repository with your favorite AUR helper. There are currently two possible packages:
- fm-git: Builds the package from the main branch
paru -S fm-git- fm-bin: Uses the github release package
paru -S fm-bin- File icons (requires nerd font)
- Layout adjusts to terminal resize
- Syntax highlighting for source code with customizable themes using styles from chroma (dracula, monokai etc.)
- Render pretty markdown
- Mouse support
- Themes (
default,gruvbox,nord) - Render PNG, JPG and JPEG as strings
- Colors adapt to terminal background, for syntax highlighting to work properly on light/dark terminals, set the appropriate themes in the config file
- Open selected file in editor set in EDITOR environment variable
- Copy selected directory items path to the clipboard
- Read PDF files
fmwill start fm in the current directoryfm updatewill update fm to the latest versionfm --start-dir=/some/start/dirwill start fm in the specified directoryfm --selection-path=/tmp/tmpfilewill write the selected items path to the selection path when pressing E and exit fmfm --start-dir=/some/dirstart fm at a specific directoryfm --enable-logging=truestart fm with logging enabledfm --pretty-markdown=truerender markdown using glamour to make it look nicefm --theme=defaultset the theme of fmfm --show-icons=falseset whether to show icons or notfm --syntax-theme=draculasets the syntax theme to render code with
| Key | Description |
|---|---|
| h or left | Go to previous directory |
| j or down | Move down in the file tree or scroll pane down |
| k or up | Move up in the file tree or scroll pane up |
| l or right | Open file or directory |
| G | Jump to bottom of file tree or pane |
| g | Jump to top of file tree or pane |
| ~ | Go to home directory |
| / | Go to the root directory |
| . | Toggle hidden files and directories |
| ctrl+c | Exit |
| q | Exit if command bar is not open |
| tab | Toggle between panes |
| esc | Reset app state and show help screen |
| Z | Create a zip file of the currently selected directory item |
| U | Unzip a zip file |
| c | Create a copy of a file or directory |
| x | Delete the currently selected file or directory |
| n | Create a new file in the current directory |
| N | Create a new directory in the current directory |
| r | Rename the currently selected file or directory |
| m | Move the currently selected file or directory |
| e | Open in editor set in EDITOR environment variable |
| y | Copy selected directory items path to the clipboard |
| / | Filter the current directory with a term |
| ? | Toggle filetree full help menu |
| ctrl+r | Reload config |
Follow the instructions below to get setup for local development
- Clone the repo
git clone https://github.com/mistakenelf/fm- Run
make- Build a binary
make build