Vim实践技巧一:为每行数据前面添加行号

一、背景

最近在写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行内容

你可能感兴趣的:(Vim实践技巧一:为每行数据前面添加行号)