On Tue, Aug 2, 2011 at 3:30 PM, Bram Moolenaar <[email protected]> wrote:
>
> Ben Fritz -
>> Change:
>>
>> U                     Undo all latest changes on one line.  {Vi: while not
>>                       moved off of it}
>>
>> to:
>>
>>
>> U                     Undo all changes on the most recently modified line
>>                       until just after a different line was changed or 
>> editing
>>                       started on this line. If no changes since the last U
>>                       command, undo the last U.  {Vi: only when cursor has 
>> not
>>                       moved off last modified line}
>>
>
> Thanks for the hint that this was unclear.  The text must have been
> there forever.  How about this:
>
> U                       Undo all latest changes on one line, the line where
>                        the latest change was made. |U| itself also counts as
>                        a change, and thus |U| undoes a previous |U|.
>                        {Vi: while not moved off of the last modified line}
>

Much better, but "latest changes" is still not well-defined. Consider:

line 1: one two three
line 2: a b c

Put cursor on "two" and daw, then move to line 2 and delete the b with
x. Then go back to line 1 and insert some text.

Previously, I believed for some reason that pressing U on line 1 would
revert to "one two three". I now understand that pressing U anywhere
will revert line 1 to "one three".

Maybe add text like, '"Latest changes" refers to changes not
interrupted by changes to other lines.' This could come afterward if
needed, in the longer text which explains details of the interaction
between u, CTRL-R, and U.

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui