综合练习

回忆上节课内容

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

    • 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. Linux搭建ESP-IDF开发环境

    下载esp-gitee-tools git clone git@gitee.com:EspressifSystems/esp-gitee-tools.git 替换github网址 cd esp-git ...

  2. liunx下redis的哨兵环境搭建

    哨兵简介 一定要有一个概念:哨兵实例也是特殊的Redis实例,也就是哨兵实例是独立的进程,多个哨兵实例可以搭建主从(Master-Slave),它们承担的职责和普通的Redis实例不一样.下面是官方文 ...

  3. 逆向WeChat(四)

    本篇在博客园地址https://www.cnblogs.com/bbqzsl/p/18209439 mars 先回顾一下,在上两篇我对wechat如何使用chrome::base框架的分析中存有错漏. ...

  4. Linux和Windows时间不一致问题

    问题描述 装过双系统或者虚拟机装Linux的人都知道,Linux的时间和Windows往往是不同步的,在编写跨平台程序的时候特别是对时间敏感的代码就带来很大的困扰 解决办法 这个问题可以在Linux下 ...

  5. CF1753

    CF1753 成功因为虚拟机炸了,重新写一遍此文. 都是没有保存的错. A. Make Nonzero Sum 由于 Note that it is not required to minimize ...

  6. 配置系统未能初始化。“System.Transactions.Diagnostics.DiagnosticTrace”的类型初始值设定项引发异常。

    配置系统未能初始化."System.Transactions.Diagnostics.DiagnosticTrace"的类型初始值设定项引发异常. 1.是检查当前程序的 App.c ...

  7. winform遍历控件的Controls.OfType<>方法

    页面TextBox控件较多时,可以使用类似的名字,方便遍历时整体的修改,可以使用Controls.OfType<TextBox>()获取所有文本框: 需要引用命名空间System.Linq ...

  8. epoll使用与原理

    使用要点 边缘模式(ET)与水平模式(LT)区别 下面内容来自linux man page The epoll event distribution interface is able to beha ...

  9. uniapp ios推送 离线推送收不到消息

    突然之间收不到离线推送消息了,角标也不显示了. 查了很长时间发现是ios的推送证书过期了. 我用的是appuploader登陆上以后在证书管理中新创建证书就可以了.

  10. python 注册nacos 进行接口规范定义

    背景: 一般场景 python服务经常作为java下游的 算法服务或者 数据处理服务 但是使用http 去调用比较不灵活,通过注册到nacos上进行微服务调用才是比较爽的 1.定义feginapi的接 ...