有没有办法在vi(m)中生成数字序列?
例如,从文件中的随机行(在vim中打开),比如Row-i - 到随机行,比如Row-j,其中Row-i <Row-j,有没有办法从Row生成数字序列-i到Row-j从数字1开始到数字j-i + 1,步长增量为1?
假设我在文件中有以下行.
this is line #1
this is line #2
this is line #3
this is line #4
this is line #5
this is line #6
this is line #7
this is line #8
this is line #9
this is line #10
Run Code Online (Sandbox Code Playgroud)
我想要从第4行到第8行的数字序列作为前缀,从数字1到数字5开始.操作后,生成的文件应如下所示:
this is line #1
this is line #2
this is line #3
1 this is line #4
2 this is line #5
3 this is line #6
4 this is line …Run Code Online (Sandbox Code Playgroud) 我有一个大的逗号分隔文件(6GB),并希望添加一个索引列.我正在寻找Unix类型的解决方案以提高效率.我正在使用Mac.
我有这个:
V1 V2 V3
0.4625 0.9179 0.8384
0.9324 0.2486 0.1114
0.6691 0.7813 0.6705
0.1935 0.3303 0.4336
Run Code Online (Sandbox Code Playgroud)
想得到这个:
ID V1 V2 V3
1 0.4625 0.9179 0.8384
2 0.9324 0.2486 0.1114
3 0.6691 0.7813 0.6705
4 0.1935 0.3303 0.4336
Run Code Online (Sandbox Code Playgroud) 我经常使用vi命令
:set number
Run Code Online (Sandbox Code Playgroud)
我最近试图将一些基于零的索引的数据与vim中的行号对齐,后者具有基于1的索引.有没有办法让vi从0开始编号,或者更广泛地从任何其他起点编号?
通常我会处理看起来像这样的文件:
0.98 3.45
2.45 3.90
.
.
.
4.56 8.45
Run Code Online (Sandbox Code Playgroud)
比方说100行.我想得到这样的东西:
1 0.98 3.45
2 2.45 3.90
.
.
.
100 4.56 8.45
Run Code Online (Sandbox Code Playgroud)
第一列整数.我通常做的是生成一个只有1,2 ... 100的列文件,然后选择该块并将其粘贴到包含两列的文件中.由于行数几乎总是不同,我的方法似乎非常慢.
你有什么建议吗?
谢谢.
我有一个带有以下文本的源文档
Here is a bunch of text
...
Collect underpants
???
Profit!
...
More text
Run Code Online (Sandbox Code Playgroud)
我想直观地选择中间三行并在它们前面插入数字:
Here is a bunch of text
...
1. Collect underpants
2. ???
3. Profit!
...
More text
Run Code Online (Sandbox Code Playgroud)
我找到的所有解决方案要么将数字放在自己的新行上,要么在文件的实际行之前。
如何在现有行中添加一系列数字,从 1 开始?
我知道命令:%s/^/\=line('.')/会在每行的开头插入行号,如下所示.
之前
line1
line2
line3
Run Code Online (Sandbox Code Playgroud)
后
1line1
2line2
3line3
Run Code Online (Sandbox Code Playgroud)
但是我想space在下面的行号后插入一个.
1 line1
2 line2
3 line3
Run Code Online (Sandbox Code Playgroud)
我尝试在命令中给出一个space后line('.'),但不起作用.
:%s/^/\=line('.') /