On Wed, 26 Apr 2006 at 12:04pm, Gerald Lai wrote:

> On Wed, 26 Apr 2006, Hari Krishna Dara wrote:
>
> >
> > In Vim 6.3, hitting ^X in insert mode when the cursor is on the number:
> >
> > 08)
> >
> > produced:
> >
> > 0377777777778)
> >
> > This is a bug which seems to be fixed in Vim 7.0f, but it doesn't work
> > right, as it now produces:
> >
> > 7)
> >
> > instead of:
> >
> > 07)
> >
> > If the string is say,
> >
> > 07)
> >
> > both versions correctly produce,
> >
> > 06)
>
> Confirmed for Vim 6.3. Seems like some kind of octal increment/decrement
> confusion.
>
> However, I think Hari meant to say Normal mode instead of Insert mode.
>
> Vim thinks that it's an octal number because of 0 followed by [0-9]\+
> (yes, it should be [0-7]\+). But when it encounters [8-9]\+\d*$, it
> takes 0 as the octal number itself, and not as the octal indicator (as
> "0x" is the hex indicator).
>
> This is evident with:
>
>    08123
>
> Placing the cursor on any of the 5 digits and hitting Ctrl-x produces:
>
>    0377777777778123
>
> Some may say it is correct operation ;) except for the fact that Vim
> confuses the indicator for the number itself. Hence, performing the same
> on:
>
>    008123
>
> also produces:
>
>    0377777777778123
>
> In this case, the good 0 is decremented to -1 in octal.
>
> Of course, the fix for this behavior on any Vim is
>
>    :set nrformats-=octal
>
> See ":help 'nrformats'".
>
> HTH :)
> --
> Gerald
>
>

Yes, I meant normal mode only and thanks for the analysis and
workaround, it gets the job done for me.

-- 
Thanks,
Hari

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Reply via email to