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
