zoukankan      html  css  js  c++  java
  • vim recording

    大家是否有这种经验,“不知道为什么按出recording状态,按ESC貌似无法直接退掉”的情况,个人已经有过好几次了。
    与其出来烦人还不如了解它,昨天我就花了点时间学习recording。怎么说,还是有点用的。
    首先说明的是recording是怎么按出来的:命令模式下按q。假如你想按退出的:q,右手有点慢的话就有可能出现recording。顺便说一句,q:出来的是command history,command history状态下:q或者enter都可以退出。
    那么recording是干啥的?简单来说就是命令序列,加快工作效率的。基本使用是q开启录制,接着选择寄存器,比如1,2,a之类的。之后的到第一个q为止的命令都会加入序列中。录制完成之后@1(1这里为寄存器的名字,你也可以选择其他寄存器)就可以重复寄存器中的命令序列。举个简单的例子:

    你需要复制1. 20行,除了Vyo20p(选中行复制,进入下一行,粘帖20次)之外,你可以q1Vyopq录制命令序列,20@1执行20次。
    这个例子可能还不能体现recording的好处,接下来举第二个例子,注释10行代码

    录制序列q2I// jq,//后面的是空格。9@2执行剩下九次。接下来一个例子和SQL有关。

    你需要像第一行一样组装一个SQL。使用recording,我的操作序列为q3I,输入INSERT INTO USER(name) VALUES(“,按ESC,$a,输入”);,按ESC,按jq,录制结束。接下来按@3应用到下一条。

    至此是不是觉得recording用得好的话还是听不错的?补充一下recording相关的一些信息。
    @@是执行上一次的命令序列,:reg显示所有的寄存器,:reg 1显示寄存器1中的内容。

    写一个自己的例子:
    首先递加一组数:

    1
    2
    3
    4
    5
    6
    7
    8
    9

    输入"q,1,ctrl+A,j,shift+^,q,10,@,1"(','号表示分开输入,不是实际输入)

    变为:

    2
    3
    4
    5
    6
    7
    8
    9
    10

    继续记录:
    a=1+a,自动生成,a=2+a, a=3+a, a=4+a......
    继续记录:
    1,然后自动生成2到1000.
    这些都可以用recording来实现,我就不记录了

  • 相关阅读:
    day26
    day 25
    java.io.IOException: java.net.ConnectException: Call From master/192.168.58.128 to master:10020 failed on connection exception: java.net.ConnectException: 拒绝连接;
    疫情可视化系统
    使用eclipse创建spring cloud的eureka客户端和eureka服务端
    连接虚拟机的hive时进程自动杀死
    在Ubuntu18.04的Docker中安装Oracle镜像及简单使用
    Ubuntu16.04 上Docker 中安装SQL Server 2017
    docker
    Docker镜像报错
  • 原文地址:https://www.cnblogs.com/biglucky/p/4998871.html
Copyright © 2011-2022 走看看