Vim - 在不改变列宽的情况下增加数字

标签 vim vi

我正在处理固定宽度的文件格式,我需要增加某些列中的所有数字。我有一个简单的宏,它向数字添加一个值,移动到下一行并重复(如 2aj)但是,这些数字从 1 开始,通常结束于 10000 以上,因此列宽变得困惑,例如(下划线为空格,本示例仅涵盖从 9 到 10 的跳转)

FOO_7_BAR
FOO_8_BAR
FOO_9_BAR

成为

FOO_9BAR
FOO_10_BAR
FOO_11_BAR

(注意新的文本列会破坏我的程序)

当我需要的时候

FOO_9_BAR
FOO10_BAR
FOO11_BAR

我一直在手动检查并从前 9 列中删除空格,然后是 90 列,然后是 900 列,但我正在寻找一种更可靠的方法来处理此问题,而无需处理前 10、100、1000 等列。使用不同的宏或任何手动输入。

谢谢。

最佳答案

我是这么想的,我觉得动画自己解释了:

enter image description here

最后的结果是:

FOO 3 BAR
FOO 4 BAR
FOO 5 BAR
FOO 6 BAR
FOO 7 BAR
FOO 8 BAR
FOO 9 BAR
FOO10 BAR
FOO11 BAR

关于Vim - 在不改变列宽的情况下增加数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34344976/

相关文章:

vim - VIM 帮助页面中括号的使用

erlang - 使用 Cowboy 开发时如何进行热代码重载?

bash - 如何显示 bash session 的当前进程树?

vim - 如何让 Vim 使用当前目录中的本地拼写文件?

vim - 如何在vim中复制以数字开头的所有行?

vim - 展示vi或emacs生产力的视频

vim - 在 vim 中逐步选择 "inner"和/或 "outer"代码块

reference - 推荐一个好的vi引用?

vim - 删除Vim中两个方括号之间的所有内容,包括换行符

vim - 如何使 VIM 成为成熟的 IDE