Skip to content

mistakenelf/fm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bef3a70 · May 26, 2024
Mar 8, 2024
Apr 6, 2024
May 25, 2024
Apr 13, 2024
May 26, 2024
Apr 13, 2024
May 19, 2024
Apr 13, 2024
May 19, 2024
Apr 13, 2024
May 25, 2024
Apr 6, 2024
Mar 26, 2024
Apr 13, 2024
Apr 13, 2024
Mar 30, 2024
May 30, 2021
Mar 12, 2024
Aug 16, 2023
Apr 11, 2021
Jul 5, 2021
Apr 6, 2024
May 25, 2024
May 25, 2024
Aug 16, 2023
Aug 16, 2023

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