背景
最近的项目需要验证一下加密数据,来验证加密算法的正确性,数据都是16进制的,内容如下:
9F64080B3084F733E48AFF4B41B565011CE0711C5E392CFB0AB1B6791B94C408
29DBA116152D1F786CE843ED24A3B573414D2177386A92DD8F14D65696EA5E32
69850938ABEA0112B57329F447E3A0CBAD3E2FDB1A77F335E89E1408D0EF1C25
41E00A53DDA532DA1A7CE027B7A46F741006E85F5CDFF0730E75C05FB4E3216D
因为要在程序里验证,需要把这些数据保存成c语音的数组,类似这种16进制形式
char aaa[20]={
0x00,0x23,0x33…
}
所以要在每两个字符中间,都统一的加入",0x",
这种情况很适合vim的宏记录功能,下面说下自己的操作步骤。
操作步骤
1 记录vim宏
在vim的非数据模式,光标在要操作的一行字符的最左端,按下q,然后按下m(m是随意字符)。
2 开始操作
然后开始操作,如下的操作都会被录下来。
按下p,将已经复制好的“,0x”黏贴到字符前,然后操作光标向右移动到下一个要操作的双字符前。
3 停止记录,保存
然后按下q,此时就停止记录了,刚才记录的操作也被保存下了。
4 使用vim宏记录
接下来是见证奇迹的时刻:
在一行字符前,按下 “30@m”,可以看到这行数据的30个16进制格式就生成了。如下
,0x69,0x85,0x09,0x38,0xAB,0xEA,0x01,0x12,0xB5,0x73,0x29,0xF4,0x47,0xE3,0xA0,0xCB,0xAD,0x3E,0x2F,0xDB,0x 1A,0x77,0xF3,0x35,0xE8,0x9E,0x14,0x08,0xD0,0xEF,0x1C,0x25