# fpick **fpick** is an interactive file picker to traverse through directories tree in a terminal.
![](./docs/img/screenshot1.png) **fpick** returns the selected path to standard output, so you combine it with other commands: ```sh cd "$(fpick)" cat $(fpick) ``` ## Installation ### Cargo ```sh cargo install fpick ``` This will install `fpick` binary in Rust's Path. ### Binary Alternatively, you can download the compiled binary: ```sh curl -L https://github.com/igrek51/fpick/releases/download/0.7.5/fpick -o ~/bin/fpick chmod +x ~/bin/fpick ``` ## Usage ### Traverse through directories Type `cd "$(fpick)"` to quickly change the directory interactively: - Start typing a name to filter the list of directories. - Find your subdirectory with up and down arrows. Hit `Enter` to go inside. - Repeat the steps until you are in the directory you are looking for. - Hit `Enter` again (when being focused on `.`) to exit and change the directory. ## Controls Launch the interactive file picker by running `fpick`. Navigate with keyboard: - `↑` and `↓` to move between files and directories, - `→` to enter a directory. - `←` to go up, - Type a phrase to filter the list of files - `Enter` on selected file to exit and print its path to stdout. - `Enter` on selected directory to enter inside it. - `Enter` on `.` to pick current directory. - `Esc` or `Ctrl + C` to exit. - `/` to go to root directory. - `Alt + Enter` on selected file / directory to open context menu and execute an operation: - **Open** - open directory in file manager or a file in a default application - **Show in less** - **Edit in vim** - **Edit in sudo vim** - **Delete file** - **Delete directory** - **Copy path to clipboard** - **Pick absolute path** - return absolute path to stdout. - **Pick relative path** - return relative path to stdout. ## CLI arguments See `fpick --help` for options. Usage: - `fpick [OPTIONS]` to select a file in a current directory and return its path - `fpick [OPTIONS]