oeasy教您玩转vim - 42 - # 剪切进入
剪切进入
回忆上节课内容
- 上次我们了解到了各种寄存器
:reg- 无名寄存器
""
- 数字寄存器
"0-"9 - 行内删除专用寄存器
"- - 指定寄存器
"a-"z、"A-"Z 3个只读寄存器
":、".、"%".里面存储着上次插入的内容
"%里面存储着当前文件的名字":里面存储着刚刚执行的命令
- 轮换文件寄存器
"# - 表达式寄存器
"= - 选择和拖拽寄存器
"*、"+、"~ - 黑洞寄存器
"- - 搜索模式寄存器
"/
- 无名寄存器
- 插入模式下ctrl+r 再加寄存器名称
- 可以粘贴指定寄存器中的内容
- d、x、y、p都在在正常模式
- 删除之后能否自动切换进入插入模式呢?
- 翻帮助查到这个命令好像叫做 s
找到手册
- 想要知道 s 的作用,就要查一查
- 也可以用
:h s

这个s和x有点像
- 都是删除当前字符
- 都是默认放入无名寄存器
"" - 如果设定某个命名寄存器,就放入命名寄存器
- 都可以通过
[count]翻倍
不同在于删除之后的的模式
- x 保持在
普通模式 - s进入到了
插入模式
- x 保持在
- 这其实很爽
- 因为很多时候删除了之后就是希望进入插入模式的!!!
S是删除当前这一行,然后进入
插入模式- 相当于d$i
有用的c
c的意思是change这个c和d有点像
- 都是删除当前内容
- 都是默认放入无名寄存器
"" - 如果设定某个命名寄存器,就放入命名寄存器
- 都可以通过
[count]翻倍 - 而且都支持
motion
不同之处就是就是完成工作后
- d 保持在
普通模式 - c进入到了
插入模式
- d 保持在

- 比如我想把
hello world!变成hello oeasy 那么我需要
- dw删除到当前单词word词尾
- i然后再进入插入模式
- 输入oeasy
- 然后esc完成
现在我只需要
- cw删除到当前单词word词尾
- 直接进入插入模式
- 输入oeasy
- 然后esc完成,一气呵成
- 如果要删除的位置很远
- 可以考虑cft
- 配合.来操作
配合重复

- n是下一个
.是cwfiveesc
in操作
- 这次我们的光标位置在这个单词中间

我如果想要删除world怎么办?
- 我需要先b回词头
- cw删除到词尾
- 这还是有点麻烦
现在只需要一句话
- ciw就可以一气呵成

in
- 不论光标在单词里面什么位置
- 只要是这个
word范围内的都可以删除 - 这个时候如果是
ciW意味着不是word而是WORD 类似的还有·
- ci(、ci(删除小括号里面的

- ci[、ci]删除中括号里面的
- ci"删除双引号里面的
- ci'删除单引号里面的
- 这在编程时是非常实用的!!!
文字对象
- cis删除当前这句
- cip删除当前这段

tag块标签
git clone http://github.com/overmind1980/vimtutorial.git
cd vimtutorial
vi oeasy.html
cit
- 删除tag里面的内容
cat
- 删除包括标签本身
c2it删除两层标签里面的
- 这个功能在
html、xml很有效率
- 这个功能在

block块
ci{、ci}
- 删除大括号里面的
ciB
- 也有同样的效果
- c2i{、c2i}删除两层大括号里面的
- 这个功能也可以和 d、y配合,非常爽!!
- 大规模程序块控制

关于i和a的整理
h aw可以看到相关资料wword 小词WWord 大词ssentence 句子pparagraph 段落(、)小括号[、]中括号{、}大括号ttag 标签it标签内部 不包含标签at标签外部 包含标签
"、'引号
细节
s
- 相当于cl
- 也相当于dl,再进入插入模式
S
- 删除当前行d$
- 再进入插入模式
C
- 相当于c$
- 也相当于d$,再进入插入模式
- 也就是D,再进入插入模式
cc就是
- 删除当前行并进入插入模式
- 等同于S
2C
- 相当于删除两行,再进入插入模式
- 也就是2D,再进入插入模式
总结
这次我们学到的最有用的就是c
- 他和d的区别就是删除之后进入到插入模式
- c可以配合
motion - 可以用ciw来快速删除当前光标所在的单词
可i和a的文字块
wword 小词WWord 大词ssentence 句子pparagraph 段落(、)小括号[、]中括号{、}大括号ttag 标签it标签内部 不包含标签at标签外部 包含标签
"、'引号
- 还有没有更快速的办法进行编辑吗?
- 下次再说
[Github地址] (https://github.com/overmind1980/vimtutorial)
[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)
oeasy教您玩转vim - 42 - # 剪切进入的更多相关文章
- 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教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
- oeasy教您玩转linux-010110内容回顾
我们来回顾一下 我们都讲了什么?
随机推荐
- PasteSpider之接口的授权实现为什么不采用JWT方式
PasteTemplate序列的接口权限控制使用的都是一套逻辑 包括不限于PasteSpider,PasteTimer,PasteTicker等 大致逻辑一致,具体的细节可能会根据项目做一些调整! 实 ...
- C#老码农的职业生涯
开头白 大家好,我是tibos,19年10月1号由深圳回武汉的码农,目前入职武汉福禄网络,最近刷到的年终总结也比较多,赶在这最后一天,我也来凑个热闹 心路历程 -> 菜鸟入江湖 13年开启码农的 ...
- vue我自己的动态菜单思路
1.在router里把所有的路由都加上. 2.后端存储路由path和其他设计需要的信息. 3.登录后,后端返回菜单树,根据权限不同,返回的菜单不同,并且还要返回每个path代表的页面具有的权限数组.可 ...
- Vue cli之单文件组件
组件有两种:脚本化组件.单文件组件 脚本化组件的缺点: html代码是作为js的字符串进行编写,所以组装和开发的时候不易理解,而且没有高亮效果. 脚本化组件用在小项目中非常合适,但是复杂的大项目中,如 ...
- docker——容器的基本操作
docker 容器的基本操作 run 格式 docker run [选项] 镜像 [命令] [参数...] 选项 选项 解释 -d 后台运行 -i 交互模式 -t 分配一个伪终端 -p 设置端口 -- ...
- Github Markdown 指定图片在光亮或暗黑模式展示
Github 根据系统配置不同的主题模式: 如果想要在光亮模式和暗黑模式显示不同的主题的图片,比如以下就是同一个图片在暗黑模式和光亮模式下展示: 解决方案 在markdon 的图片链接后添加#gh-d ...
- SpringBoot3整合SpringDoc实现在线接口文档
写在前面 在现目前项目开发中,一般都是前后端分离项目.前端小姐姐负责开发前端,苦逼的我们负责后端开发 事实是一个人全干,在这过程中编写接口文档就显得尤为重要了.然而作为一个程序员,最怕的莫过于自己写文 ...
- tempcode排序
package com.hsy;import com.alibaba.fastjson.JSON;import org.springframework.util.CollectionUtils;imp ...
- Bind DNS服务——带KEY的区域传送与子域授权
Linux基础服务--Bind DNS服务 Part3 带KEY的区域传送与子域授权 带KEY的区域传送 上文提到了区域传送,但实际上在区域传送的时,传送的区域文件并不会被加密.因此一般的区域传送并不 ...
- python实现推送消息到微信公众号
使用到库: Requests 实现方式: 微信已开放了对应的接口,直接通过python的requests库,发起请求,实现推送消息到公众号 微信公众号准备: 1.没有注册微信公众号,可以使用微信提供的 ...