Skip to main content

Navigation tool for Linux/MacOs

Project description

Fastcd allows you to navigate quickly to the desired directory that has been visited recently.

Features

  • Autocomplete

  • Fuzzy search

  • Shortcuts for directories

  • Flexible configuration

Usage

Just enter j in the terminal to launch fastcd’s jumper.

Fastcd’s jumper shows last visited directories and allows you to change cwd quickly. Start typing to filter directories. You can use arrows and Page Up/Down to navigate the list.

Control:

'Esc', 'F10' or 'Meta + q' to exit.
'Enter' to change directory to the selected.
'Meta + Enter' to change directory to the entered.
'Tab' for auto completion. If entered path is not valid it will be extended.
'Shift + Tab' to paste selected path.
'Ctrl + w' or 'Ctrl + u' to clean up input.
'Meta + Backspace' to remove word.
'Ctrl + c' to copy selected path to clipboard (pygtk support required).

Search:

'Meta + f' to turn on/off fuzzy search.
'Meta + r' to change search position (any pos / from the beginning of the directory name).
'Meta + s' to turn on/off case sensitive search.
'Meta + l' to move search forward.
'Meta + b' to move search backward.

Shortcuts:

'Shift + F2', 'Shift + F3', 'Shift + F4' or 'Shift + F5' to set selected path as shortcut.
'F2', 'F3', 'F4' or 'F5' to paste shortcut path.

Supported extra symbols:

* - any number of any character
$ - end of the line

Extra options and parameters can be found in fastcd/config.json. Meta is usually stands for alt key.

Examples

https://raw.githubusercontent.com/frazenshtein/images/master/fastcd/example1.png

Tips

Missing or non-existent directories will be displayed dimmed and marked with *. However, if you press Enter twice, you will cd to the nearest existing directory.

If the entered path is not present in the database, but exists, you will still be able to go into it.

If you want to redefine shortcuts (~/.local/share/fastcd/config.json), but don’t know their key codes - use key_picker.py.

You can change palette in ~/.local/share/fastcd/config.json.

Your current path in shell will be first in list, while the previous path (OLDPWD) will be the second. Previous path is selected by default. Thus fastcd (j) + enter is equivalent to cd -.

Type j -l to list shortcuts and directories to which they point.

If you want to change directory immediately when pressing path shortcut (F2-F8) - change exit_after_path_shortcut_pressed to 1 in config.json

Supported platforms

  • Linux

  • MacOs

Installation

  1. Get the utility: sudo python3 -m pip install fastcd or python3 -m pip install fastcd --user

  2. Install shell hook to make fastcd able to track visited directories: python3 -m fastcd install.

  3. Restart console session or run source ~/.bashrc to apply changes.

  4. Type j and press enter to run fastcd.

If you would like to install another alias name for fastcd use: python3 -m fastcd install --alias=fcd

Installation from source code

Get source code:

cd $HOME
git clone https://github.com/frazenshtein/fastcd

Each user who wants to use fastcd should install shell hook first:

python3 fastcd/fastcd/__main__.py install
source ~/.bashrc

Utility requires python 3 + extra module:

sudo python3 -m pip install urwid

If you do not have pip try first:

sudo apt-get install python3-pip

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastcd-1.3.3.tar.gz (25.5 kB view details)

Uploaded Source

File details

Details for the file fastcd-1.3.3.tar.gz.

File metadata

  • Download URL: fastcd-1.3.3.tar.gz
  • Upload date:
  • Size: 25.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for fastcd-1.3.3.tar.gz
Algorithm Hash digest
SHA256 f8af6c1fef4f99158cac5e8fb51c21f451b7fdb7f5c6db27b718a4a1ed1374e5
MD5 23d12a6480ae564e5c91e793f0876472
BLAKE2b-256 708fa72ee185edfea536243c9985f5b1329df27c063cf94edf60b98460dda6ac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page