为什么 vim 增量(Ctrl+A)会跳过 8 和 9?

为什么 vim 增量(Ctrl+A)会跳过 8 和 9?

我正在尝试使用 vim 宏来编写一个很长的 XML 目录,以编写所有重复的内容。我发现编写一个宏很有用,它可以提取前一个条目,然后遍历每个项目并使用 Ctrl+A 递增它。Vim 可以将 001 递增到 002,一直递增到 007,但随后它会将 007 递增到 010!而且,奇怪的是,它会将 008 递增到 9,并去掉前导零。

有人知道是什么导致了这个奇怪的错误,以及如何修复它?

答案1

set nrformats-=octal

会处理它。你遇到的问题是因为 Vim 认为以 0 开头的数字是八进制还是十六进制,视情况而定。更多信息请参见

help 'nrformats'

相关内容