Index | Thread | Search

From:
"Andy Bradford" <amb-sendok-1776494522.pnjbmdiffgbbbemalmim@bradfords.org>
Subject:
Re: Improvement for vi(1) paste comand (updated diff)
To:
"Walter Alejandro Iglesias" <wai@roquesor.com>
Cc:
tech@openbsd.org
Date:
16 Feb 2026 23:42:02 -0700

Download raw body.

Thread
Thus said Walter Alejandro Iglesias on Fri, 06 Feb 2026 11:11:30 +0100:

> So,  the  new version  below  removes  that  detour and  its  comment,
> resulting  in a  more logical  and *unified*  behavior (eg.  with this
> modification, given the same Jeremy's  example, :1,3y and then pasting
> with 'p' gives you the same result than using '1,3t.'.)

Logical and  unified doesn't necessarily mean  correct or best. As  a 25
year user of  vi(1), I don't see this change  as necessarily welcome nor
even desirable---I rely on the current behavior. This does not seem like
an  objective  bug,  but  rather  a  subjective  interpretation  of  how
something *could* or *should* work.

Demonstrating that  your with  your modification, p  now behaves  like t
doesn't necessarily convince me that it's a "good thing".

When I type:  3yy and move the  cursor down 10 lines with  10j, and then
press p, I expect my cursor to remain on that line so I can then press O
to open  a new line above  the lines I  just pasted. It seems  like your
proposed  change would  have me  now  paste my  lines and  then have  to
remember that I yanked three lines so I can move my cursor back using 3k
to open a line above them? What  happens if I have saved my yanked lines
in a named buffer and don't remember how many lines are in it? Oh, sure,
I guess I can use "disp b" to  look at the named buffers and count them,
but that's  something I've rarely needed  to do. I rarely,  if ever have
needed  to paste  a buffer  3 times  in a  row to  achieve the  supposed
problem that you describe.

Is this usage enhanced by your proposed change?  If so, how?

> > With the  new behavior the  buffer is scrolled automatically  in the
> > same action, letting you see the whole text you pasted.

Why do  I need to "see  the whole text  I pasted"? Don't I  already know
what I yanked and  trust that when I press p that  it will paste exactly
that?

Could  you place  your desired  behavior behind  a new  SET OPTION  that
defaults  to the  original  behavior but  also allows  you  to have  the
behavior that you desire (the cursor at the end of the pasted lines)? Is
that worse than the proposed change?

I'm sorry if this is not the kind of feedback you want.

Thanks,

Andy