Vim取代分数

时间:2013-09-18 22:02:35

标签: vim

我有一个包含以下格式的大文件,即带符号的小数。

1.00,4.000,-1.8765,0 56.456,-7.10,-6.65,3.340, ... ...

我想通过将这些数字插入到签名[数字]中来改变这种格式。

签署[-1.00],签署[4.000],签署[-1.8765],签名[0]

我怎么能这样做?

请建议。

3 个答案:

答案 0 :(得分:1)

此行适用于您的示例:

:%s/[0-9-.]\+/signed[&]/g

答案 1 :(得分:0)

'<,'>s/[0-9][0-9.]*/signed[\0]/g

根据您的需要调整范围。

答案 2 :(得分:0)

这样的东西?

:%s/\v-?\d+(\.\d+)?/signed[&]/g

\v - 打开非常神奇的模式 -?\d+(\.\d+)?寻找任何数字。负号和小数部分可选。
& - 在替换部分中将其替换为匹配。

1.00, 4.000,-1.8765,0 56.456, -7.10, -6.65, 3.340, ... ...

变成

signed[1.00], signed[4.000],signed[-1.8765],signed[0] signed[56.456], signed[-7.10], signed[-6.65], signed[3.340], ... ...