Skip to content

mistakenelf/fm

Repository files navigation

Keep those files organized

Latest Release GoDoc Build Status

default screenshot

About The Project

A terminal based file manager

Built With

Installation

Curl

curl -sfL https://raw.githubusercontent.com/mistakenelf/fm/main/install.sh | sh

Go

go install github.com/mistakenelf/fm@latest

AUR

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

Features

  • 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 theme flags
  • Open selected file in editor set in EDITOR environment variable
  • Copy selected directory items path to the clipboard
  • Read PDF files

Themes

Default

default

Gruvbox

gruvbox

Nord

nord

Usage

  • fm will start fm in the current directory
  • fm update will update fm to the latest version
  • fm --start-dir=/some/start/dir will start fm in the specified directory
  • fm --selection-path=/tmp/tmpfile will write the selected items path to the selection path when pressing E and exit fm
  • fm --start-dir=/some/dir start fm at a specific directory
  • fm --enable-logging=true start fm with logging enabled
  • fm --pretty-markdown=true render markdown using glamour to make it look nice
  • fm --theme=default set the theme of fm
  • fm --show-icons=false set whether to show icons or not
  • fm --syntax-theme=dracula sets the syntax theme to render code with

Local Development

Follow the instructions below to get setup for local development

  1. Clone the repo
git clone https://github.com/mistakenelf/fm
  1. Run
make
  1. Build a binary
make build