综合练习

回忆上节课内容

  • 上次我们学到了各种的替换模式

    • r,替换当前光标的字符

      • R,进入替换模式
      • ~,改变大小写
  • 这次来个综合练习吧!
  • 我们这次要完成这样一个任务

    • 我们有的时候需要写日志

      • System.out.println("[debug]1=====");
    • 但是这些日志,如何快速插入
    • 并且自动编号呢?
    • 我们来试试

加法操作

  • 首先输入好基本内容,如上图
  • 并且在System那一行yy
  • 然后p进行粘贴
  • 然后ctrl+a
  • 将具体的数字加1
  • 这到底是为什么?

查询帮助

  • h CTRL-A查询快捷键作用

  • 然后再p进行粘贴
  • 然后3ctrl+a,将原来的1加3得到4
  • 如果是减法的话,可以用ctrl+x实现

减法操作

  • 首先是已经存在的内容,如图

  • 我希望快速添加一条 .news 的记录,其中 margin:30px;

    • 首先y2j复制3行
    • 然后G到最后一行
    • 小写p把新内容粘贴在后面
    • l向右移动到b字符
    • cw,剪切blog
    • 并把模式切换到插入模式
    • 输入newsesc
    • j,向下1行
    • f4,光标跳转到4
    • r3,光标所在字符修改为3

还是刚才的操作

  • u撤销回来
  • 在margin行的任意位置
  • 最后一步变成 10ctrl+x
  • 试一下效果
  • 查看帮助

  • ctrl+a都在Normal正常模式下做的
  • 如果是在插入模式下做
  • 什么效果呢

重复插入

  • 先来搜索一下
  • :h i_CTRL-a

  • 我们来试试

来试试

  • 打开oeasy.java

  • i进入插入模式
  • 插入 oeasy
  • ctrl+c结束插入模式
  • 这个时候寄存器".中的内容为 oeasy
  • 正常模式下把光标移动到下面位置
  • 再进入插入模式

  • 然后ctrl+a就可以把".寄存器的内容插上去了
  • 相当于插入模式下ctrl+r .
  • 也相当于正常模式下".p
  • 就是把.寄存器里面的东西粘贴上来

一次命令

  • 插入模式下有一种 一次命令模式
  • 快捷键是 ctrl+o
  • :h i_ctrl-o

  • 插入模式下,执行一次命令
  • 然后回到插入模式
  • 比如光标在如下位置,模式为插入

  • 原来的方法是

    • ctrl+c
    • 先退回到正常模式
    • d2w可以把两个单词删除
    • i并进入插入模式
  • 不止一种思路
  • 灵活多变

试试一次命令模式

  • ctrl+o

  • 执行一次正常模式命令d2w
  • 执行之后还是保持在插入模式

  • 如果想删到oeasy之前的位置就可以

    • ctrl+o
    • d/oeasy 回车
    • 然后会自动回到插入模式
  • 也许你可试试如何才能让按键更少
  • 就像用更少的杆数让高尔夫球进洞一样

总结

oeasy教您玩转vim - 44 - # 综合练习的更多相关文章

  1. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  2. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  3. oeasy教您玩转vim - 53 - # 批量替换

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  4. oeasy教您玩转linux010203显示logo

    我们来回顾一下 上一部分我们都讲了什么?

  5. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  6. oeasy教您玩转linux010202软件包管理apt

    顾一下 上一部分我们都讲了什么?

  7. oeasy教您玩转linux010201持续输出yes

    我们来回顾一下 上一部分我们都讲了什么?

  8. oeasy教您玩转linux010108到底哪个which

    到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?

  9. oeasy教您玩转linux010107那啥在哪 whereis

    回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:

  10. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

随机推荐

  1. 推荐一款模拟浏览器自动化操作神器!Mechanize

    大家好,我是狂师! 今天给大家推荐一款用于模拟浏览器行为以进行网页自动化操作Python库:Mechanize. 1.介绍 Mechanize是Python中的一个库,它被设计用来自动化网页浏览和数据 ...

  2. windows下使用winget快速安装nvm

    前置条件: 操作系统 >= win10 安装 首先使用winget搜索nvm包 winget search nvm #搜索结果如下图 安装nvm winget install CoreyButl ...

  3. Wpf Bitmap(Image)Base64,Url,文件Path,Stream转BitmapSource(ImageSource),无需外部dll

    直接上代码 using System; using System.Drawing; using System.IO; using System.Windows.Forms; using System. ...

  4. 002. git 分支管理

    git分支 git分支,从本质上来讲仅仅是指向提交对象的可变指针,在这一点上与svn是有着本质区别,svn的分支实际就是个目录而已. git默认分支名字是 master,在多次提交操作后,你其实已经有 ...

  5. 基于WebSocket的modbus通信(一)- 服务器

    ModbusTcp协议是基于tcp的,但不是说一定要通过tcp协议才能传输,只要能传输二进制的地方都可以.比如WebSocket协议. 但由于目前我只有tcp上面的modbus服务器实现,所以我必须先 ...

  6. VALL-EX下载介绍:只需3秒录音,即可克隆你的声音

    VALL-EX是一个强大和创新的多语言文本转语音模型,支持对中文.英文和日语的语音进行合成和克隆,使用者只需上传一段3-10秒的录音,就可以生成高质量的目标音频,同时保留了说话人的声音.情感和声学环境 ...

  7. 「C++」深度分析C++中i++与++i的区别

    大家好,我是Charzie.在C++编程中,i++和++i是两个常见的自增运算符,用于将变量的值增加1(有时与i+=1效果一样).然而,虽然它们的功能看似相似,但在实际使用中却存在显著的区别.本博客将 ...

  8. MySQL 导出一条数据的插入语句

    1.MySQL 导出一条数据的插入语句的方法 在MySQL中,如果我们想要导出一条数据的插入语句,我们可以使用SELECT ... INTO OUTFILE语句(但这通常用于将整个表或查询结果导出到一 ...

  9. 算法学习笔记(46): 离散余弦变换(DCT)

    前置知识:离散傅里叶变换 傅里叶变换在上文中更多的是 OI 中的理解以及应用.但是傅里叶变换奥秘还很多. 回顾 \(\omega_n\) 在傅里叶变换中的定义:\(e^{i \frac {2\pi} ...

  10. C#.NET Framework RSA 公钥加密-私钥解密

    C#.NET Framework RSA 公钥加密-私钥解密 加密解析: //假设私钥长度为1024, 1024/8-11=117. //如果明文的长度小于117,直接全加密,然后转base64.(d ...