-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Hi @Piotr1215 ,
First of all, I wanted to say thank you for creating such a clever and useful tool! I came across your post on Reddit the day before yesterday during my commute home, and I was immediately impressed by the idea. It’s a really neat project that solves a common pain point when working with long command lines.
I’ve been testing the plugin and noticed a small bug, along with a suggestion to make the UI a bit more intuitive. Here are the details:
Bug: Command line content after the cursor disappears while the picker is active
Steps to reproduce:
- Type a command with multiple words. And place the cursor somewhere in the middle of the line (not at the end), e.g.:
abab ab ab ab abab ab ab ab abab ab ab ab abab ab ab ab abab ab ab ab ab
# ^CURSOR_HERE ^DESTINATION- Activate zsh-jumpter
Expected behaviour:
The full command line should remain visible while the fuzzy picker is displayed, allowing me to see the context of the words I’m selecting.
Actual behaviour:
All text after the cursor position is temporarily hidden during the picker session. After activating the picker, only the part before the cursor is shown above the picker interface. It shows:
abab ab ab ab
jump>abab ^CURSOR_HERE
1: abab
5: abab
9: abab
13: abab <- DESTINATION
17: ababThe rest of the command line is missing until the jump is completed.
This makes it harder to orient myself, especially when the words before the cursor are not enough to recall the full command structure.
UI Enhancement: Make word numbering more intuitive in duplicate matches
When there are multiple identical words in the command (e.g., abab appears several times), the picker displays them with indices like:
abab ab ab ab abab ab ab ab abab ab ab ab abab ab ab ab abab ab ab ab ab
jump>abab ^CURSOR_HERE ^DESTINATION
1: abab
5: abab
9: abab
13: abab <- DESTINATION
17: ababWhile the numbering helps avoid ambiguity, it’s not immediately obvious where each numbered word is located in the command. I have to mentally count or remember the command structure to know which abab I’m selecting.
Suggestion:
When I need to move the cursor within a command line, my eyes almost always locate the exact position I want to jump to before I think about invoking any tool. With the current implementation of zsh-jumper, however, the workflow introduces an unnecessary break in this natural flow.
Once the fuzzy picker is activated, my attention is pulled away from the target location toward the list of matches displayed at the bottom of the terminal. If there are multiple identical words (e.g., several instances of abab), I then have to mentally map each numbered entry back onto the original command line—often while part of that line is hidden due to the cursor position. This mapping becomes especially difficult with long or complex commands, where visual context is crucial but partially obscured.
In such cases, I frequently lose track of which match corresponds to the spot I originally intended to edit. The result is a jarring interruption to my thought process—one that feels at odds with the otherwise elegant goal of quick, intuitive navigation.
I wonder if a more seamless approach might be possible: instead of listing matches in a separate picker, could we overlay lightweight, single-key “jump triggers” directly on or near each matched word in situ?
For example, when activating the plugin, the command line itself could temporarily display small, unobtrusive hints (like 1, 2, 3 or a, s, d) right next to each candidate word. The user could then simply press the corresponding key while keeping their eyes fixed on the target—no need to shift focus to a detached list or reconstruct positional context from memory.
This style of interaction—used effectively in tools like Vim’s EasyMotion—keeps the user grounded in the visual layout of their command, minimises eye movement, and aligns much more closely with how we naturally scan and edit text in the terminal. For example:
Of course, I fully appreciate that this would be a significant change in interface design, and the current fuzzy-picker approach has its own strengths. But if feasible, such an inline hint system could make zsh-jumper feel even more fluid and “invisible” during everyday use.
Thank you again for your brilliant work on this project—I hope this suggestion is helpful!
Environment details:
Commit: a749e8f (main branch)

