Skip to content

Bug: Command line text after cursor disappears when fuzzy picker is activated #4

@DehanLUO

Description

@DehanLUO

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:

  1. 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
  1. 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: abab

The 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.

Image


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: abab

While 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:

Image

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions