文章目录
备注:
该方法核心点是对vim的【q记录器】的使用。
此外,记录器的使用非常广泛,不仅是可以生成该文中描述的连续数字之类的东西,凡是可以规律性的操作均可以使用记录器,具体记录器的使用方法见另一篇博客【Vim使用q记录器,大大提高效率】。
记录器使用大致流程为:
(1)打开记录器,开始记录vim骚操作
(2)vim开始操作文本
(3)关闭记录器
(4)重复执行记录器
下面举例阐述:
一、添加一列连续递增的数字
1.1 示例一、插入一列依次+1的递增数值
本示例:插入一列从9开始,每次+1递增,直到20结束。
前提:vim打开待编辑文本,先将光标定位到某空行行首,并保证vim处于普通模式(normal模式),然后按顺序执行以下命令:
i #进入插入模式; 9 #输入数字9 ESC #进入普通模式(normal) --->备注:后续操作全在普通模式下进行; qa #打开操作记录器,将后续动作放在记录器a中;(左下角会显示一个【记录中@a】提示符号) yy #复制本行; p #粘贴到下一行; --->备注:光标会自动定位到新粘贴的一行行首; ctrl+a #数字自加一次; --->备注:如果想生成间隔n个数跳跃递增,则先按数字,再按下ctrl+a; q #关闭记录器; --->备注:此时仍处于normal模式 10@a #将上述记录器记录的动作执行10次。(即:将【yy -> p -> ctrl+a】执行10次)
效果如下:
1.2 示例二、插入一列依次+5的递增数值
本示例:插入一列从10开始,每次+5递增,直到50结束。
前提:vim打开待编辑文本,先将光标定位到某空行行首,并保证vim处于普通模式(normal模式),然后按顺序执行以下命令:
i #进入插入模式; 10 #输入数字10 ESC #进入普通模式(normal) --->备注:后续操作全在普通模式下进行; qa #打开操作记录器,将后续动作放在记录器a中;(左下角会显示一个【记录中@a】提示符号) yy #复制本行; p #粘贴到下一行; --->备注:光标会自动定位到新粘贴的一行行首; 5 ctrl+a #数字自加5; --->备注:如果想生成间隔n个数跳跃递增,则先按数字,再按下ctrl+a; q #关闭记录器; --->备注:此时仍处于normal模式 7@a #将上述记录器记录的动作执行7次。(即:将【yy -> p -> 5 ctrl+a】执行7次)
效果如下:
1.3 示例三、生成一列待赋值数组,数组角标+1递增
本示例:
第零行 array[0] = ;
第一行 array[1] = ;
第二行 array[2] = ;
…
直到:array[10] = ;
前提:vim打开待编辑文本,先将光标定位到要操作行,并保证vim处于普通模式(normal模式),然后按顺序执行以下命令:
i #进入插入模式; array[0] = ; #输入首行代码; ESC #进入普通模式(normal) --->备注:后续操作全在普通模式下进行; qa #打开操作记录器,将后续动作放在记录器a中;(左下角会显示一个【记录中@a】提示符号) yy #复制本行; p #粘贴到下一行; --->备注:光标会自动定位到新粘贴的一行行首; ctrl+a #角标自加1; q #关闭记录器; --->备注:此时仍处于normal模式 9@a #将上述记录器记录的动作执行9次。(即:将【yy -> p -> ctrl+a】执行10次)
效果如下:
1.4 示例四、生成一列数组,数组角标+1递增,数组值+5递增
本示例:
第零行 array[0] = 5;
第一行 array[1] = 10;
第二行 array[2] = 15;
…
直到:array[10] = 55;
前提:vim打开待编辑文本,先将光标定位到要操作行,并保证vim处于普通模式(normal模式),然后按顺序执行以下命令:
i #进入插入模式; array[0] = 5; #输入首行代码; ESC #进入普通模式(normal) --->备注:后续操作全在普通模式下进行; qa #打开操作记录器,将后续动作放在记录器a中;(左下角会显示一个【记录中@a】提示符号) yy #复制本行; p #粘贴到下一行; --->备注:光标会自动定位到新粘贴的一行行首; ctrl+a #角标自加1; f= #光标定位到等号,即数组值左边; 5 ctrl+a #数组值自加5; q #关闭记录器; --->备注:此时仍处于normal模式 9@a #将上述记录器记录的动作执行9次。
效果如下: