Joshuto

Joshuto is a terminal-based file manager inspired by Ranger, written in Rust. It aims to provide an efficient and user-friendly interface for navigating and managing files directly from the terminal. Joshuto brings modern features to the terminal file management experience, making it a robust alternative to traditional file managers.

Joshuto Screenshot Joshuto Screenshot

Key Features

Joshuto comes packed with several notable features:

  • Tabs: Easily manage multiple file locations.
  • Fuzzy Search: Quickly locate files using fuzzy search via fzf.
  • Customizable Keybindings: Adjust keybindings to suit your workflow.
  • File Previews: Preview files directly within the terminal.
  • Asynchronous File IO: Perform cut, copy, and paste operations asynchronously.
  • Trash Support: Move files to the trash instead of deleting them permanently.
  • Devicons Support: Display file icons for better visual navigation.
  • Custom Colors/Themes: Personalize the appearance with custom themes.

Navigation

Joshuto provides intuitive navigation controls similar to Vim and Ranger:

  • Move Up: arrow_up or k
  • Move Down: arrow_down or j
  • Move to Parent Directory: arrow_left or h
  • Open File/Directory: arrow_right or l
  • Go to Top: home or gg
  • Go to Bottom: end or G
  • Page Up: page_up or ctrl+u
  • Page Down: page_down or ctrl+d

File Operations

Managing files is seamless with Joshuto:

  • Rename: a to append, A to prepend
  • Delete: delete or dd
  • Cut: dd
  • Copy: yy
  • Paste: pp
  • Symlink: pl for absolute path, pL for relative path

Miscellaneous Features

  • Toggle Hidden Files: zh
  • Reload Directory List: R
  • Change Directory: cd
  • Show Tasks: w
  • Set Mode: =
  • Enter Command Mode: :

Configuration

Joshuto offers extensive configuration options to tailor it to your needs. Configuration files include:

  • joshuto.toml: General configurations
  • keymap.toml: Keybindings
  • mimetype.toml: File type associations for opening files with specific applications
  • theme.toml: Color customizations
  • bookmarks.toml: Bookmark frequently used directories

For more detailed information, refer to the Joshuto documentation.

Installation

Joshuto can be installed using various methods:

Building from Source

To build Joshuto from source, ensure you have cargo and rustc installed:

cargo build

Single User Installation

Install Joshuto using cargo:

cargo install --path=. --force

Or install directly from the repository:

cargo install --git https://github.com/kamiyaa/joshuto.git --force

System-wide Installation

For a system-wide installation:

sudo cargo install --path=. --force --root=/usr/local

From Pre-compiled Binary

To install the latest release:

bash \<(curl -s https://raw.githubusercontent.com/kamiyaa/joshuto/master/utils/install.sh)

For a custom installation path:

INSTALL_PREFIX="$HOME" bash \<(curl -s https://raw.githubusercontent.com/kamiyaa/joshuto/master/utils/install.sh)

For a specific release version:

RELEASE_VER='v0.9.4' bash \<(curl -s https://raw.githubusercontent.com/kamiyaa/joshuto/master/utils/install.sh)

Supported Platforms

Joshuto is available on various platforms including:

  • Fedora: Install via COPR
  • Arch Linux: Available on AUR and ArchLinuxCN repositories
  • Gentoo: Install via the gentoo-zh overlay
  • NixOS: Integrate with NixOS configurations or run temporarily
  • MacOS: Available through MacPorts and Homebrew

Further Reading

For more information on installation, configuration, and usage, visit the Joshuto GitHub repository.

Similar Projects

Rustfinity.com

Links

  1. Home
  2. Learn Rust
  3. Get Started
  4. Practice Rust
  5. Challenges
  6. Tutorials
  7. Blog
  8. Open source
  9. Learn Gleam

Socials

  1. GitHub
  2. X

Legal

  1. Privacy Policy
  2. Terms of Service