通常我会处理看起来像这样的文件:
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的列文件,然后选择该块并将其粘贴到包含两列的文件中.由于行数几乎总是不同,我的方法似乎非常慢.
你有什么建议吗?
谢谢.
Par*_*lor 11
这是另一种仅使用 vim 的普通模式版本。将光标放在第一列第一行上:
<C-v>GI0 <ESC>gvg<C-a>
Run Code Online (Sandbox Code Playgroud)
<C-v>
视觉块模式 ( :help visual-block
)G
选择屏幕底部 ( :help G
)I
:help v_b_I
在第 1 行 ( )上启动插入模式0
输入文字零和文字空格<ESC>
回到正常模式gv
重新选择最后一个视觉选择(第 1 列的全部)( :help gv
)g<C-a>
按顺序递增选择中的所有数字 ( :help v_g_CTRL-A
)转这个
0.98 3.45
2.45 3.90
4.56 8.45
Run Code Online (Sandbox Code Playgroud)
进入这个
1 0.98 3.45
2 2.45 3.90
3 4.56 8.45
Run Code Online (Sandbox Code Playgroud)
:%s/^/\=printf('%-3d ', line('.'))
Run Code Online (Sandbox Code Playgroud)
更多信息:
:help :s\=
:help printf()
:help line()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5277 次 |
最近记录: |