1

我想将符号“:”和“-”都替换为文件第一列中的制表符:

输入是这样的:

chr1:100-200 1 2 3e-4
chr2:300-400 4 5 6e-4

我希望输出是:

chr1 100 200 1 2 3e-4
chr2 300 400 4 5 6e-4

我知道如何通过 "%s/:/^I/g" 全局替换以将 ":" 替换为选项卡。

但是因为某些条目有科学计数法的数字,例如 3e-4,我不能只使用 "%s/-/^I/g" 将 "-" 替换为制表符。

有谁知道如何仅指定第一列的替换?

谢谢。

4

4 回答 4

5

不使用 g 怎么样

%s/-/^|/
于 2013-05-15T18:53:14.073 回答
5

您可以使用“Ctrl+V”,激活“VISUAL BLOCK”模式,选择要更改的列,按“c”,进行更改,然后“Esc”,它将应用于所有选定的列。

于 2013-05-15T18:55:15.417 回答
2

如果只有e是问题,您可以使用%s/\([^e]\)-/\1^I/gfind -'s not prepend by e

于 2013-05-15T18:57:19.157 回答
1

对于第一列的特殊情况,您确实可以不使用g标志。对于适用于任何列的通用解决方案,使用(通常在 Windows 上)建立一个块状视觉选择,然后将替换限制为使用原子的视觉选择:<C-v><C-q>\%V

:%s/\%V-/\t/
于 2013-05-16T06:53:32.227 回答