/jjj

Minimal and fast command-line file lister with Vim key bindings.

Primary LanguageCMIT LicenseMIT

jjj

jjj is a minimal and fast command-line file lister with Vim key bindings.

jjj can be used to navigate swiftly your OS and pipe a selected file to other Linux utilities.

Usage examples:

Select a file and pipe it to cat:

jjj . | xargs cat

Select a file and open it with macOS finder:

jjj /Users | xargs open

Select a folder and change directory:

cd $(jjj .)

Downloads

  • Visit the release page to download the binaries
  • Change the permission of the downloaded file using chmod +x ./jjj

Notes: to install jjj to macOS please follow these instructions Open a Mac app from an unidentified developer. In order to add jjj to your path follow this guide.

Key binding

Key Description
j Move cursor down
k Move cursor up
h Visit parent folder
l If directory, visit it, otherwis do nothing
q Exit program
esc Exit program
enter Exit returning path
spacebar Exit returning path
r Update view of the current folder and reset the cursor position

Notes: you can also navigate using the arrow keys.

Video demo

Screen.Recording.2022-06-26.at.9.57.07.AM.mov

For development

Clone the repository and install dependencies:

git clone https://github.com/gibbok/jjj.git
brew install ncurses
cd ./jjj

Compile and run on macOS:

make test-files
make dev 

Build for macOS and Linux using Docker:

make build-mac
make build-linux