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
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:
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 .