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内容回顾
我们来回顾一下 我们都讲了什么?
随机推荐
- WPF自定义控件,如何使得xaml涉及器中的修改能立即反应到预览
这是我无意中发现的,xaml中设置的是依赖属性而不是包装器,所以我们可以直接在注册依赖属性那里设置回调,触发某个控件重绘,比如本身或父控件重绘. xaml设计器就会实时更新 1 // !!!由于xam ...
- Linux系统中如何查看磁盘情况
Linux不像windows系统那样方便的图形界面,特别是作为服务器使用的时候,只有命令行可以使用. 我有个云服务器平时用来做一些数据分享用的,最近想看看磁盘和其中文件的占用情况,于是搜索并学习了一些 ...
- 一:nacos 的安装与启动方式
一: nacos 的下载与安装 1,下载 到 github下载 nacos-server-1.2.0.zip 文件 :https://github.com/alibaba/nacos/rele ...
- 高分辨率食道测压(HRM)
高分辨率测压(High resolution Manometry) HRM的优势 高分辨率食管测压不但实现了从咽部到胃部的全程功能监测,而且插管无需牵拉,操作十分方便.更为重要的是,临床医生经过简单的 ...
- 你可能不知道的秘密——String s=new String(“abc”)到底创建了几个对象?
String s=new String("abc")创建了几个对象? 在探讨上述问题结论之前,我们需要了解常量池这个概念. 常量池 由于字符串在Java中被大量使用 ...
- 性能优化陷阱之hash真的比strcmp快吗
最近网上冲浪的时候看到有人分享了自己最近一次性能优化的经验.我向来对性能是比较敏感的,所以就点进去看了. 然而我越看越觉得蹊跷,但本着"性能问题和性能优化要靠性能测试做依据",我不 ...
- Android 13 - Media框架(16)- OpenMax(四)
关注公众号免费阅读全文,进入音视频开发技术分享群! 这一节继续了解 openmax 目录下的内容. 1.OMX_Core.h 1.1.OMX_BUFFERHEADERTYPE 这是一个比较关键的结构体 ...
- WPF 设置第二次打开程序直接弹出第一次打开的程序
激活已经打开窗口函数[DllImport("user32.dll")]private static extern bool SetForegroundWindow(IntPtr h ...
- WPF 中使用附加属性解决 PasswordBox 的数据绑定问题
1.前言 在 WPF 开发中 View 中的数据展示我们常通过 Binding 进行绑定.但是,使用 Binding 有一个前提:绑定的目标只能是依赖属性. 而 PasswordBox 控件中的 Pa ...
- WPF 制作高性能的透明背景异形窗口(使用 WindowChrome 而不要使用 AllowsTransparency=True)
在 WPF 中,如果想做一个背景透明的异形窗口,基本上都要设置 WindowStyle="None".AllowsTransparency="True" 这两个 ...