vim - vim C-A 的奇怪行为?

标签 vim

<分区>

numbers <= 0.005 递增时,vim 的 Ctrl A 行为很奇怪。

由于个人需要,想得到一组从0.005开始每次递增0.005的数字, 像这样:

0.005
0.010
0.015
...

然后我想到了vim的宏和Ctrl A

我在vim的第一行输入0.005,用y y p Ctrl A录制一个宏。但是当我将光标移动到 5 然后连续按 Ctrl A 时,第三次,数字直接从 0.007 变成了 0.010。如果我只按 3 次,输出将变为:

0.005
0.010
0.013
0.016
...

这意味着我无法使用 vim 完成任务。

在以其他方式完成此操作后,我开始对 vim 的 Ctrl A 的行为感兴趣。

以下文字来自vim的帮助手册:

:h CTRL-A:

Add [count] to the number or alphabetic character at or after the cursor.  

:h计数:

An optional number that may precede the command to multiply or iterate the command.
If no number is given, a count of one is used, unless otherwise noted. 

当我测试其他一些数字时,我发现从 0.01 开始行为变得很奇怪。但我仍然不知道为什么 Ctrl A 会这样。

在开始阅读 vim 的源代码之前,有谁知道为什么 vim 的 Ctrl A 在小数点上会有这样的表现?

顺便说一句,我的PC环境是Win10,我使用的是从vim官网下载的vim_only_x64。

最佳答案

正如@Simson 所说,vim 认为它是一个八进制数并增加 0.07 到 0.10。
您可以通过告诉 vim 不要使用八进制数来更改此行为。

:set nrformats-=octal

然后按预期增加 0.09 => 0.10

你可以通过 :h expr-number 查看数字的定义

关于vim - vim C-A 的奇怪行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58112461/

相关文章:

vim - "How to avoid GVim treating <M-h> like è ?"或 "Is there a way for saying to GVim to use escape sequences for meta modifier?"?

vim - 如何在取消删除后突出显示所有以前删除的文本

vim - 显示 Vim 与父文件夹的相对路径

vim - vim 可以设置相对于其当前工作目录的路径吗?

html - 在 VIM 中将大括号内的文本设为小写

search - 如何在 vi 搜索和替换中包含正斜杠

vim:taglist无法生成标签

Powershell ISE + vim

regex - 为什么在 Vim 中\%(\) 比\(\) 快?

git - 在 Vim 中打开文件会打开 vim diff?