vim:如何仅在列中替换某些内容

ola*_*ala 1 vim replace

我想将符号":"和" - "替换为文件第一列中的选项卡:

输入如下:

chr1:100-200 1 2 3e-4
chr2:300-400 4 5 6e-4
Run Code Online (Sandbox Code Playgroud)

我希望输出为:

chr1 100 200 1 2 3e-4
chr2 300 400 4 5 6e-4
Run Code Online (Sandbox Code Playgroud)

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

但是因为有些条目有科学记数法的数字,例如3e-4,所以我不能只用"%s/ - /^ I/g"将" - "替换成标签.

有谁知道如何只为第一列指定替换?

谢谢.

ego*_*n12 5

怎么样不要使用g

%s/-/^|/
Run Code Online (Sandbox Code Playgroud)


Sau*_*tro 5

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