Cristian,
The "n", or "/ + Enter", are simply built-in substitutes for repeating the original search instruction, namely
- "/a"
Another way to look at it is
- You are already at the "first match" for what you are searching, "a".
- If that is the case, why are you attempting any search ... if not for the next match???
Honestly, this is simply basic logic ... and ... very intuitive.
Hope that helps!
On 2026-01-22 07:03, Doug Kearns wrote:
On Thu, 22 Jan 2026 at 02:21, Cristian <cristian.zoicas@gmail.com> wrote:Thank you for the explanation — that makes sense for the behavior of the n key. That said, I was wondering whether, for the initial search (the one NOT triggered by n), it might also be reasonable for vi to start searching from the character currently under the cursor.As others have pointed out, the behaviour is fundamental[1].This could make the behavior a bit more intuitive when the cursor is already on a match.I think your intuition is incorrect. You wouldn't expect 'w', for example, not to move to the next word because the cursor was already at the start of a word. You can think of '/' as executing something like :let @/ = 'pattern' | normal! n The best solution, if you don't want to adjust to how it works, is probably to remap '/' to a user function that calls search('pattern', 'c') and sets the '@/' register. Anything else, like :-;/pattern, won't work well for multiple matches per line. Regards, Doug 1. https://pubs.opengroup.org/onlinepubs/9799919799/utilities/vi.html#tag_20_146_13_36
No comments:
Post a Comment