/superfile

Pretty fancy and modern terminal file manager

Primary LanguageGoMIT LicenseMIT

superfile LOGO

Demo

Perform common operations

Content

Installation

Requirements

Homebrew

Install homebrew and execute the following commands

brew install superfile

Install pre-built binaries

Just copy and paste this one-line command:

bash -c "$(curl -sLo- https://raw.githubusercontent.com/MHNightCat/superfile/main/install.sh)"

Or wget:

bash -c "$(wget -qO- https://raw.githubusercontent.com/MHNightCat/superfile/main/install.sh)"

Windows

It actually supports windows! Sort of. For uninstall do the same but uninstall.ps1

Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://github.com/MHNightCat/superfile/blob/main/install.ps1'))

NixOS

Click to expand

Install with nix command-line:

nix profile install github:MHNightCat/superfile#superfile

or

nix profile install github:MHNightCat/superfile#superfile

Install with flake:

Add superfile to your flake inputs:

inputs = {
  superfile = {
    url = "github:MHNightCat/superfile";
  };
  # ...
};

Then you can add it to your packages:

let
  system = "x86_64-linux";
in {
  environment.systemPackages = with pkgs; [
    # ...
    inputs.superfile.packages.${system}.default  ];
}

Font

Warning

This is a reminder that you must use a Nerd font

Once the font is installed if superfile isn't working make sure to update your terminal preferences to use the font.

Build

You can build the source code yourself by using these steps:

Requirements

Build Steps

Clone this repository using the following command:

git clone https://github.com/MHNightCat/superfile.git

Enter the downloaded directory:

cd superfile

Run the build.sh file:

./build.sh

Add the binary file to your $PATH, e.g., in /usr/local/bin:

mv ./bin/spf /usr/local/bin

Supported Systems

  • Linux
  • MacOS
  • Windows

Tutorial

After you install superfile, you can go here to briefly understand how to use superfile!

Plugins

Click me to the plugins wiki

Themes

Use an existing theme

You can go to theme list to find one you like!

We only have a few themes at the moment, but we will be making more overtime! You can also submit a pull request for your own theme!

copy theme_name in:

Theme name: theme_name

Edit config.toml using your preferred editor:

Tip

If your OS is macOS the file path should be in the ~/Library/Application Support/superfile/config.toml

$EDITOR ~/.config/superfile/config.toml

and change:

theme = "gruvbox"

to:

theme = "theme-name"

Create your own theme

If you want to customize your own theme, you can go to ~/.config/superfile/theme/YOUR_THEME_NAME.toml and copy the existing theme's json to your own theme file

Don't forget to change the theme variable in config.toml to your theme name.

If you are satisfied with your theme, you might as well put it into the default theme list!

Hotkeys

Click me to see the hotkey list

Tip

If your OS is macOS the file path should be in the ~/Library/Application Support/superfile/hotkeys.toml

You can change all hotkeys in ~/.config/superfile/hotkeys.toml

"Normal mode" is the default browsing mode

Global hotkeys cannot conflict with other hotkeys (The only exception is the special hotkey).

The hotkey ranges are found in hotkeys.toml

Contributing

If you want to contribute please follow the contribution guide

Thanks

Support

  • a Star on my GitHub repository would be nice 🌟
  • You can buy a coffee for me 💖

ko-fi

Contributors

Thanks to all the contributors for making this project even greater!

Star History

THANKS FOR All OF YOUR STARS! Your stars are my motivation to keep updating!

Star History Chart