Crates.io | fpick |
lib.rs | fpick |
version | 0.7.6 |
source | src |
created_at | 2024-02-02 15:17:59.48429 |
updated_at | 2024-11-08 10:00:55.210705 |
description | Interactive file picker |
homepage | https://github.com/igrek51/fpick |
repository | https://github.com/igrek51/fpick |
max_upload_size | |
id | 1124435 |
size | 127,183 |
fpick is an interactive file picker to traverse through directories tree in a terminal.
fpick returns the selected path to standard output, so you combine it with other commands:
cd "$(fpick)"
cat $(fpick)
cargo install fpick
This will install fpick
binary in Rust's Path.
Alternatively, you can download the compiled binary:
curl -L https://github.com/igrek51/fpick/releases/download/0.7.5/fpick -o ~/bin/fpick
chmod +x ~/bin/fpick
Type cd "$(fpick)"
to quickly change the directory interactively:
Enter
to go inside.Enter
again (when being focused on .
) to exit and change the directory.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,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:
See fpick --help
for options.
Usage:
fpick [OPTIONS]
to select a file in a current directory and return its pathfpick [OPTIONS] <PATH>
to select a file starting from a specified directoryOptions:
--relative
, --rel
, -r
- Print selected path as relative to the starting directory--version
- Print version--help
, -h
- Print usageYou can use it in combination with other commands, for example to print the selected file:
cat $(fpick)
Tired of typing ls
and cd
, over and over again,
just to find a file in a deeply nested directory tree?
Use fpick
to navigate through directories interactively:
cd "$(fpick)"
Set alias for quick access:
alias cfp='cd "$(fpick)"'
Move file by interactively picking the source and destination:
mv "$(fpick)" "$(fpick)"