Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MHNightCat/superfile
Pretty fancy and modern file manager in terminal file manager
https://github.com/MHNightCat/superfile
bubbletea cli file-manager filemanager filesystem golang linux-app terminal-app tui
Last synced: 2 months ago
JSON representation
Pretty fancy and modern file manager in terminal file manager
- Host: GitHub
- URL: https://github.com/MHNightCat/superfile
- Owner: MHNightCat
- License: mit
- Created: 2024-03-19T15:49:52.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-04-13T16:23:35.000Z (2 months ago)
- Last Synced: 2024-04-13T20:52:26.153Z (2 months ago)
- Topics: bubbletea, cli, file-manager, filemanager, filesystem, golang, linux-app, terminal-app, tui
- Language: Go
- Homepage: https://github.com/MHNightCat/superfile
- Size: 25.7 MB
- Stars: 263
- Watchers: 1
- Forks: 10
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Lists
- awesome-stars - MHNightCat/superfile - Pretty fancy and modern terminal file manager (Go)
- cli-apps - superfile - Pretty fancy and modern file manager. (<a name="file-manager"></a>File manager)
- awesome-cli-apps - superfile - Pretty fancy and modern file manager. (<a name="file-manager"></a>File manager)
- awesome-stars - MHNightCat/superfile - Pretty fancy and modern terminal file manager (Go)
- my-awesome-stars - MHNightCat/superfile - Pretty fancy and modern terminal file manager (Go)
- awesome-tuis - superfile
- my-awesome-github-stars - MHNightCat/superfile - Pretty fancy and modern terminal file manager (Go)
README
![](/asset/demo.png)
## Demo
| Perform common operations |
| ------------------------- |
| ![](/asset/demo.gif) |## Content
- [Features](#features)
- [Installation](#install)
- [Homebrew](#homebrew)
- [Linux](#linux)
- [Font](#font)
- [Build](#build)
- [Supported Systems](#supported-systems)
- [Themes](#themes)
- [Use an existing theme](#use-an-existing-theme)
- [Create your own theme](#create-your-own-theme)
- [Hotkeys](#hotkeys)
- [Contributing](#contributing)
- [Todo list](#todo-list)
- [Star History](#star-history)## Features
- Fancy GUI
- Fully customizable
- Vim keybindings
- Easy to use
- Trash can
- Metadata detail
- Clipboard viewer
- Copy and paste file
- Auto rename file or folder when duplicate
- Rename files in a modern way
- Open file with default app
- Open terminal with current path## Install
> I am still working on different installation methods like `homebrew` and `snap`
**Requirements**
- [`Exiftool`](#exiftool)
- Any [`Nerd Font`](#font)### Homebrew
If you want to use homebrew please install `go` first!
```bash
brew tap mhnightcat/superfile https://github.com/MHNightCat/homebrew-superfile.git && brew install superfile
```### Linux
You can go to the [latest release](https://github.com/MHNightCat/superfile/releases/latest) and download the binary file. Once it is downloaded please excrate the file after that enter the following in your terminal:
```bash
cd ~/Download
chmod +x ./spf
sudo mv ./spf /bin/
```### Exiftool
[`exiftool`](https://github.com/exiftool/exiftool) is a tool used to obtain file metadata. If it is not installed, it will cause errors.
**Installation:**
```bash
# Homebrew:
brew install exiftool# Fedora:
sudo dnf install perl-Image-ExifTool# Ubuntu:
sudo apt install exiftool# Archlinux:
sudo pacman -S perl-image-exiftool
```
NixOSClick to expand
Add superfile to your flake inputs:
```nix
inputs = {
superfile = {
url = "github:MHNightCat/superfile";
};
# ...
};
```Then you can add it to your packages:
```nix
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](https://www.nerdfonts.com/font-downloads)
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**
- [golang](https://go.dev/doc/install)
**Build Steps**
Clone this repo using the following command:
```
git clone https://github.com/MHNightCat/superfile.git
```Enter the downloaded directory:
```bash
cd superfile
```Run the `build.sh` file:
```bash
./build.sh
```Add the binary file to your $PATH, e.g. in `/usr/local/bin`:
```bash
mv ./bin/spf /usr/local/bin
```## Supported Systems
- \[x\] Linux
- \[x\] MacOS
- \[ \] Windows## Themes
### Use an existing theme
You can go to [theme list](https://github.com/MHNightCat/superfile/blob/main/THEMELIST.md) to find one you like!
> We only have a few themes at the moment, but we will be making more over time! You can also [submit a pull request](https://github.com/MHNightCat/superfile/pulls) for your own theme!
copy `theme_name` in:
```
Theme name: theme_name
```Edit `config.json` using your preferred editor:
```
$EDITOR ~/.config/superfile/config.json
```and change:
```json
"theme": "gruvbox",
```to:
```json
"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.json` and copy the existing theme's json to your own theme file
Don't forget to change the `theme` variable in `config.json` to your theme name.
[If you are satisfied with your theme, you might as well put it into the default theme list!](#contribute)
## Hotkeys
[**Click me to see the hotkey list**](https://github.com/MHNightCat/superfile/blob/main/HOTKEYS.md)
**You can change all hotkeys in** `~/.config/superfile/config.json`
> "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 `config.json`
## Contributing
If you want to contribute please follow the [contribution guide](./CONTRIBUTING.md)
## Todo list
See the todo list in [here](https://github.com/MHNightCat/superfile/blob/main/TODOLIST.md)
## Star History
**THANKS FOR All OF YOUR STARS!**