一、背景
最近在写Thrift文件时,从其他地方拷贝过来的数据,没能带上行号,这样子得手工一行行添加行号,比较费时费力。
原数据:
struct UserInfo {
string UserName;
i32 Age;
bool gender;
}
期望数据:
struct UserInfo {
1:string UserName;
2:i32 Age;
3:bool gender;
}
二、解决思路
这里涉及两个问题:
1、只要2-4行需要自动添加行号
2、需要在Vim编辑器上执行
解决思路:
1、在Vim命令模式下指定行数
2、通过外部命令Awk可以自动生成行数
三、实践过程
在vim的命令行模式输入:
:2,4!awk '{print " "NR":"2}'
就可以实现上述目的
释义:
1、指定行数:2,4
只要2-4行
2、执行外部命令:!awk '{print " "NR":"2}'
!awk:执行外部命令awk
NR:行数。这里是NR行数与Vim行数不一样,而是我们输入的指定内容行行数,即2-4行内容