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
可以看到相关资料w
word 小词W
Word 大词s
sentence 句子p
paragraph 段落(
、)
小括号[
、]
中括号{
、}
大括号t
tag 标签it
标签内部 不包含标签at
标签外部 包含标签
"
、'
引号
细节
s
- 相当于cl
- 也相当于dl,再进入插入模式
S
- 删除当前行d$
- 再进入插入模式
C
- 相当于c$
- 也相当于d$,再进入插入模式
- 也就是D,再进入插入模式
cc就是
- 删除当前行并进入插入模式
- 等同于S
2C
- 相当于删除两行,再进入插入模式
- 也就是2D,再进入插入模式
总结
这次我们学到的最有用的就是c
- 他和d的区别就是删除之后进入到插入模式
- c可以配合
motion
- 可以用ciw来快速删除当前光标所在的单词
可i和a的文字块
w
word 小词W
Word 大词s
sentence 句子p
paragraph 段落(
、)
小括号[
、]
中括号{
、}
大括号t
tag 标签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内容回顾
我们来回顾一下 我们都讲了什么?
随机推荐
- docker --link容器互联
目录 一.系统环境 二.docker容器互联概述 2.1 docker容器互联的三种方式 2.2 docker --link使用注意事项 2.3 docker --link原理 三.docker容器互 ...
- 腾讯面试:如何提升Kafka吞吐量?
Kafka 是一个分布式流处理平台和消息系统,用于构建实时数据管道和流应用.它最初由 LinkedIn 开发,后来成为 Apache 软件基金会的顶级项目. Kafka 特点是高吞吐量.分布式架构.支 ...
- Anagrams(字谜)
描述 Most crossword puzzle(猜字谜) fans are used to anagrams(字谜)--groups of words with the same letters i ...
- kubernetes自动扩缩容[HPA控制器 horizontal pod autoscaler]
kubernetes自动扩缩容[HPA控制器 horizontal pod autoscaler] #查看当前hpa控制器版本: [root@k8s-master01 ~]# kubectl get ...
- 记一次bug排除心得
问题背景 要做一个需求,大概是检测到某输入重启,于是写一个demo调试一下 c语言程序,交叉编译后在adb shell下运行 思路 用 am 命令直接重启 我们先手动验证一下,发现这个设备不支持am命 ...
- itest(爱测试)开源接口测试&敏捷测试&极简项目管理 7.7.7 发布,接口测试重大升级
(一)itest 简介及更新说明 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试,接口Mock 6合1,又有丰富的统计分析.可按测试包 ...
- 绘图与可视化--matplotlib API入门
matplotlib API函数都位于matplotlib.pyplot模块中. 本节代码中引入的约定为:import matplotlib.pyplot as plt 另外,numpy库也会用到,约 ...
- 算法学习笔记(15): Trie(字典树)
Trie树 Trie(字典树)是一种用于实现字符串检索的多叉树. Trie的每一个节点都可以通过 c 转移到下一层的一个节点. 我们可以看作可以通过某个字符转移到下一个字符串状态,直到转移到最终态为止 ...
- SpringBoot系列(二) 环境搭建,创建我的第一个程序HelloWord。
环境准备: jdk1.8:java version "1.8.0_231",详见链接 maven3.x:maven3.3以上版本,详见链接 IDEA2021:IntelliJ ID ...
- .NET借助虚拟网卡实现一个简单异地组网工具
由于工作需要,经常需要远程客户的服务器,但是并不是所有服务器都能开外网端口,使用向日葵等软件终究还是不太方便,于是找了很多工具,包括zerotier 等,但是由于服务器在国外等有时候还不同, 于是开始 ...