-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Jump to nearest match behind or ahead #3871
Comments
You're saying that |
@the-mikedavis nothing about the selection. Better than vim, it should check both forward and backwards. |
This should be accomplished by searching for an open bracket - Commands that automatically jump to some character like the current behavior of C-a or C-x break the select-then-act paradigm and the jump behavior should be removed (#3028). |
Honestly, I don't mean to hurt anyone's feelings. The selection behavior is intervening a lot while editing. While editing I am thinking less about editing and more about aiming. Everytime I have to keep planning just the right amount of keystrokes to make a selection and then do the very simple edit that I had to do. Not sure what kind of consistency the developers are trying to achieve here but why make the user put more work if they just need to Half, the time I don't even need the selections I make while moving around but when I do, I really have to aim and capture the territory with planning. The current editing model seems fine though. A few extra keystrokes aren't going to do any damage but if this behavior has to be unnecessarily followed in examples such as above then it is extra work for the user just do to teeny-tiny edits. Btw, I really liked how things work in multi-cursor mode... That's better than block selection mode for edits. So, not completely against this model but sometimes it is unnecessary |
Working on selections is more predictable because you can see what text the action (increment, decrement, delete, etc.) applies to. Sometimes this costs keypresses but IMO predictability is more important than terse keybinds. |
@the-mikedavis we should have a detailed discussion over keybindings whenever you people have time... |
After having spent a lot of time tearing out my hair making #3344 work with all the edge cases, I'd have to say trying to implement this would lead to a lot of tears in implementation, and likely would produce a whack-a-mole of "do what I want" bugs. I'm firmly in the camp of making things visually explicit being more important. If we wanted things to work blindly, we would just use the vim keymap altogether. |
I understand the concerns of consistency with the selection->action model. The number of keystrokes and speed should also be prioritized. In this case & in general my suggestion would be:
I'm aware that helix isn't competing with vim in terms of keystrokes, etc. But optimizations in all areas should be considered. And since it is a modal text editor, the number of keystrokes should be also one of the main focus which I rarely get to see. BTW, @EpocSquadron This isn't something I should tell but I always wished helix were entirely based on vim's editing model. It's great nonetheless hehe... These are just my(a users) thoughts. You guys obviously have more experience and your decisions will certainly be the best for helix. Feel free to close. |
Supporting multiple paradigms in the same code-base would be a lot of work and we're not interested in it - it's the same reason we don't support an "evil mode" (vim keybinds) out of the box. Reducing the number of keystrokes needed for something is fine (for example #3893) but not at the cost of breaking the select-then-act paradigm. The vision doc is explicit about our priorities: Line 19 in 5467c65
|
I believe this could be done better than neovim since in neovim it's only possible to jump to the next match only ahead.
If there's this block of text(
|
represents cursor):Let the cursor be before
[
or farther from]
Then pressing
md[
should:The text was updated successfully, but these errors were encountered: