oeasy教您玩转vim - 44 - # 综合练习
综合练习
回忆上节课内容
上次我们学到了各种的替换模式
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 回车
- 然后会自动回到插入模式
- 也许你可试试如何才能让按键更少
就像用更少的杆数让高尔夫球进洞一样
总结
- 这次我们主要就是综合运用
- 很好玩的,更快速的解决问题
进行计算
ctrl+a,将具体的数字加1
- ctrl+x,将具体的数字减1
- 5ctrl+a,将具体的数字加5
一次命令模式
- ctrl+o
- 插入模式下执行一次命令,然后回到插入模式
下次我们进入新的领域
- 命令行编辑~
- 下次再说
- [Github地址] (GitHub - overmind1980/oeasyvim: 这是oeasy制作的的一套关于vim的教程 可以在 https://www.lanqiao.cn/teacher/courses/2840 做实验 邀请码FJWYIMGB 本教程从0基础开始,到精通vim配置,和高级命令。希望能让vim是你的开发更高效。)
[Gitee地址] (overmind1980/oeasyvim)
[蓝桥实验楼] (oeasy 教您零基础玩转编辑神器 Vim_Linux - 蓝桥云课)
oeasy教您玩转vim - 44 - # 综合练习的更多相关文章
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy教您玩转linux010107那啥在哪 whereis
回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
随机推荐
- 推荐一款模拟浏览器自动化操作神器!Mechanize
大家好,我是狂师! 今天给大家推荐一款用于模拟浏览器行为以进行网页自动化操作Python库:Mechanize. 1.介绍 Mechanize是Python中的一个库,它被设计用来自动化网页浏览和数据 ...
- windows下使用winget快速安装nvm
前置条件: 操作系统 >= win10 安装 首先使用winget搜索nvm包 winget search nvm #搜索结果如下图 安装nvm winget install CoreyButl ...
- Wpf Bitmap(Image)Base64,Url,文件Path,Stream转BitmapSource(ImageSource),无需外部dll
直接上代码 using System; using System.Drawing; using System.IO; using System.Windows.Forms; using System. ...
- 002. git 分支管理
git分支 git分支,从本质上来讲仅仅是指向提交对象的可变指针,在这一点上与svn是有着本质区别,svn的分支实际就是个目录而已. git默认分支名字是 master,在多次提交操作后,你其实已经有 ...
- 基于WebSocket的modbus通信(一)- 服务器
ModbusTcp协议是基于tcp的,但不是说一定要通过tcp协议才能传输,只要能传输二进制的地方都可以.比如WebSocket协议. 但由于目前我只有tcp上面的modbus服务器实现,所以我必须先 ...
- VALL-EX下载介绍:只需3秒录音,即可克隆你的声音
VALL-EX是一个强大和创新的多语言文本转语音模型,支持对中文.英文和日语的语音进行合成和克隆,使用者只需上传一段3-10秒的录音,就可以生成高质量的目标音频,同时保留了说话人的声音.情感和声学环境 ...
- 「C++」深度分析C++中i++与++i的区别
大家好,我是Charzie.在C++编程中,i++和++i是两个常见的自增运算符,用于将变量的值增加1(有时与i+=1效果一样).然而,虽然它们的功能看似相似,但在实际使用中却存在显著的区别.本博客将 ...
- MySQL 导出一条数据的插入语句
1.MySQL 导出一条数据的插入语句的方法 在MySQL中,如果我们想要导出一条数据的插入语句,我们可以使用SELECT ... INTO OUTFILE语句(但这通常用于将整个表或查询结果导出到一 ...
- 算法学习笔记(46): 离散余弦变换(DCT)
前置知识:离散傅里叶变换 傅里叶变换在上文中更多的是 OI 中的理解以及应用.但是傅里叶变换奥秘还很多. 回顾 \(\omega_n\) 在傅里叶变换中的定义:\(e^{i \frac {2\pi} ...
- C#.NET Framework RSA 公钥加密-私钥解密
C#.NET Framework RSA 公钥加密-私钥解密 加密解析: //假设私钥长度为1024, 1024/8-11=117. //如果明文的长度小于117,直接全加密,然后转base64.(d ...