Click-to-position terminal command editor for zsh
Project description
โก termjump
Stop pressing โ 47 times. Just click.
A tiny TUI editor that lets you click any character in your terminal command to jump your cursor there instantly.
๐ค The Problem
Every terminal user knows this pain:
$ docker run -it --rm -v /home/user/projects:/workspace -p 8080:8080 myimage:latest
^^^^^^^^
typo is here ๐ญ
Your options?
| Option | Reality |
|---|---|
Press โ repeatedly |
37 keypresses for one typo |
Alt+B / Alt+F |
How many words back? Who knows |
Ctrl+X Ctrl+E |
Opens full vim. For one character. |
| Retype the whole thing | ๐ค |
There is no way to just click where you want to edit. Until now.
โ The Solution
termjump opens a lightweight inline editor right in your terminal.
Press Ctrl+E โ the editor pops up โ click any character โ cursor jumps there โ fix it โ Enter.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ termjump โ smart command editor โ
โ โ
โ docker run -it --rm -v /home/user/projects:/workspace -p 8080:8080 โ
โ ^ โ
โ click here โ
โ โ
โ termjump col 36/72 ENTER confirm ยท ESC cancel ยท click to jump โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Quick Start
1. Install
pip install termjump
2. Add to your ~/.zshrc
eval "$(termjump init)"
3. Reload your shell
source ~/.zshrc
4. Use it
Type any command โ press
Ctrl+Eโ click any character โ edit โEnter
๐ฎ How It Works
You type a command Press Ctrl+E Click a character
โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ
$ git commit -m โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ
"fix autentication" โโโบ โ termjump โ โโโโโโโบ โ cursor jumps โ
โ editor โ click! โ exactly there โ
โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ
โ
โผ
Fix typo โ Enter
Command runs โ
โจ๏ธ Keyboard Shortcuts
| Key | Action |
|---|---|
| ๐ฑ๏ธ Click | Jump cursor instantly to any character |
โ / โ |
Move one character at a time |
Alt+โ / Alt+โ |
Jump one word |
Ctrl+A |
Jump to beginning of command |
Ctrl+E |
Jump to end of command |
Enter |
Confirm and run the command |
Esc / Ctrl+C |
Cancel โ original command stays untouched |
โ๏ธ Configuration
Change the trigger key (default is Ctrl+E):
# In your ~/.zshrc, after the eval line:
eval "$(termjump init)"
bindkey '^F' _termjump_widget # Ctrl+F instead
๐ Requirements
- Python 3.10+
- Shell โ zsh (default on macOS since Catalina)
- Terminal with mouse support:
- โ iTerm2
- โ Kitty
- โ WezTerm
- โ macOS Terminal.app
๐ค Contributing
PRs and issues are very welcome!
git clone https://github.com/srisowmya2000/termjump
cd termjump
pip install -e ".[dev]"
python tests/test_termjump.py
termjump โ because arrow keys are not a navigation strategy.
Made with ๐ฑ๏ธ for everyone who has ever rage-retyped a long command.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file termjump-0.1.0.tar.gz.
File metadata
- Download URL: termjump-0.1.0.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
036ab567c493452842d58ccc094684fcde64078d1fc150b5a4c973f395d41702
|
|
| MD5 |
52729320ef66d68685569ed0419670eb
|
|
| BLAKE2b-256 |
f5cf42757895740d3f6d44a565c4ebda4b14ae38a7c4b4e0a2c4a44de4eae518
|
File details
Details for the file termjump-0.1.0-py3-none-any.whl.
File metadata
- Download URL: termjump-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efb545ccbdadc2cbda065aff5eeee596d4ca9aa31adff57289e7121089101559
|
|
| MD5 |
9a2c57a254ba1ce5c382a2d4bf1123e7
|
|
| BLAKE2b-256 |
9a0fec11d81f2f83d14769e16e09aa4ae801692ffff8fa73ae12af8a37373bcf
|