Skip to content
프로젝트

dzfrias/projectable has 461 GitHub stars and 16 forks. Star changes are not measured yet. Last checked 2026-11-08 13:08 UTC. Last push 2025-05-28.

이 수치를 측정하는 방법

:dizzy: A TUI file manager built for projects

측정된 스타 증가

in 24h
업데이트 지연
in 7 days
업데이트 지연
in 15 days
업데이트 지연
in 1 month
업데이트 지연

서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.

README.md

Original

💫 projectable

screenshot

Preview done with bat

projectable is a highly configurable TUI file manager built for projects. You can do handle all your project's file-based needs from a comfortable and smooth interface.

Instead of exploring the depths of your most nested directory, open a file simply from the projectable file listing!

Here are just a few builtin things projectable can do:

  • 🔍 Preview files
  • 💥 Run commands, foreground or background
  • 👀 Fuzzy search files
  • 📁 Create files or directories
  • ❌ Delete files or directories
  • 🙈 Ignore files based on glob patterns
  • 🔳 Toggle hidden files
  • 🎯 Mark files to quick and easy access
  • 🙉 Respect gitignore
  • 🔔 Live update to new files/changes
  • 🌲 View your project as a hierarchy
  • 🔦 Automatically recognize project root, with customizability
  • 💼 Run special commands that change on a per-file basis
  • 👓 View git changes
  • ✏️ Easily write custom commands
  • 📖 Fully configurable with a dead-simple toml file

🚀 Getting Started

To get started, you can use one of the following installation methods:

Minimum Supported Rust Version (MSRV)

When installing from Cargo or building from source, the MSRV for projectable is currently 1.70.x

cargo
$ cargo install projectable
Homebrew
$ brew install dzfrias/formulae/projectable
Arch User Repository

projectable is available from the Arch User Repository though this package. Thanks to @Absobel for creating this!

NetBSD official Repositories

projectable is available from the NetBSD official repositories though this package.

Releases

Go to the releases page, and binaries for every major platform should be there.

Build from source

Requires Rust to be installed on your computer.

$ git clone https://github.com/dzfrias/projectable
$ cd projectable
$ cargo build --release
$ ./target/release/prj

To verify installation worked correctly, run prj --version.

After you've installed, run prj to start it up! The default keybinds are vim-like (k for up, j for down), but you can change them in CONFIG.md.

⌨️ Keybinds

Here a list of the available actions and their default bindings. For customization, see CONFIG.md.

Key Description
j Go down
k Go up
enter Open file or directory
q/esc Quit
o Expand all
O Collapse all
g Go to first
G Go to last
l Expand all under directory
h Collapse all under directory
f Focus directory
n New file
N New directory
d Delete file/directory
r Rename file
R Move file
e Execute command (see syntax)
ctrl-c Cancel command(s)
v File-specific command
ctrl-n Go down by three
ctrl-p Go up by three
/ Search
ctrl-d Move preview down
ctrl-u Move preview up
t Toggle git diff view
T Toggle filter for modified files
. Toggle hidden files
m Toggle mark on file
M Open marks
\ Clear filters (focus, git)
? Open help window

You can make your own keybinds, too! This is of course done in the configuration file, the details of which can be found in CONFIG.md.

Command Syntax

The execute command action has some extra features that allow for easy and dynamic command execution.

By default commands are run in the background, but this behavior can be changed, so interactive programs like fzf work. In the command execution window, prepend !! to execute in the foreground. For example, !!fzf will execute fzf.

Additionally, use {} to interpolate the currently selected file into your command. echo {} would log the file you are currently selecting.

Lastly, {...} will prompt you for input. This is only available in custom commands defined in the config file. So, if you've defined a custom command bound to ctrl-b that executes cargo add {...}, pressing ctrl-b will prompt you for something to cargo add.

There are also keybinds that integrate with tmux. When entering input to run a command, press ctrl-v to open a vertical split. ctrl-x will open a horizontal one, ctrl-n a new window, and ctrl-f a floating one.

In short:

Item Description
!! Execute in foreground
{} Interpolate selected file
{...} Prompt for input
ctrl-v Vertical split
ctrl-x Horizontal split
ctrl-n New window
ctrl-f Floating window

✍️ License

This project is licensed under the MIT License.

관련 프로젝트 살펴보기