Vim生成一列连续按规则递增递减的数字【q记录器的使用】

文章目录

备注:
该方法核心点是对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次)
    
  • 效果如下:
    《Vim生成一列连续按规则递增递减的数字【q记录器的使用】》

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次)
    
  • 效果如下:

《Vim生成一列连续按规则递增递减的数字【q记录器的使用】》

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次)
    
  • 效果如下:

《Vim生成一列连续按规则递增递减的数字【q记录器的使用】》

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次。
    
  • 效果如下:

《Vim生成一列连续按规则递增递减的数字【q记录器的使用】》

    原文作者:Old_Driver_Lee
    原文地址: https://blog.csdn.net/Ace_Shiyuan/article/details/109772157
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞