oeasy教您玩转vim - 59 - # 编辑总结
[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 Vim_Linux - 蓝桥云课)
可视化编辑
回忆上节课内容
上次了解到块可视模式
-ctrl+v- 左下角
-- 可视 块 -- - 然后配合
motion - o切换首尾
- 这个块可以有四个顶点
- O横向切换
- 左下角
可以在选区内进行编辑和替换
- 可以直接d、c、y
- 或者D、C、Y
也可以直接编辑
:'<,'>d:'<,'>s/shiyanlou/oeasy/g范围内批量替换
可以在块·可视化模式下替换
:'<,'>s/\%Vg/graphic/g- '<,'>表示范围
- s表示substitute
- \%V表示在块内
- 文本编辑终于告一段落
- 这次来总结总结
基本模式
我们现在了解到有
5种模式- 默认模式 也叫正常模式 这是基础
想要从别的模式回到正常模式
- ctrl+c
- esc
从正常模式到命令行模式
- :
从正常模式到插入模式者
- i 前插
- I 最前插
- a 后插
- A 最后插
- o 下面插一新行
- O 上面插一新行
从正常模式到替换模式
- R
从正常模式到可视模式,分成三种
- v 字符可视
- V 行·可视
- ctrl+ v 块·可视
基本编辑
- 基本的编辑是
基本操作+基本运动 常用的基本操作都是动作
- 小写操作的是{range}
- 大写操作的是行
具体命令
删除
- d、D
- x、X
复制
- y
粘贴
- p、P
剪切并切换到插入模式
- c、C
基本运动都是方向
- 首行g g 、末行G 、第n行n G
- 光标运动的方式是h j k l
- 这些方向都可以加上
[count]翻倍 单词运动
wbe- w 是到下一个
word的开头 - b 是到当前
word的开头 - e 是到当前
word的结尾 - 除了
word之外还有WORD
- w 是到下一个
行头行尾
- ^ 是到本行第一个非空字符
- 0 是到本行第一个字符,不管是不是空格
- g_ 是到本行最后一个非空字符
- $ 跳到本行最后一个字符,即使他是空格
行内跳跃和贴靠
- 向
前跳跃是f - 向
后跳跃是F - 向
前贴靠是t - 向
后贴靠是T
- 向
全文查找
- 查找的话就是/
- 反向查找的话就是?
文本区块
- {、}按段落移动
- (、)按句子移动
以in为范围的操作
- ciw
- dit
- yib
- di"
命令行模式
可以进行基本编辑
- 在:下可以运行命令
- d、D、x、X
可以在前面加上
range:3,6d
可以操作文件 (读、写、编辑)
:3,5w oeasy.txt:1,3r oeasy.txt:3,9w oeasy.txt:3,9w oeasy.txt >>:e .
查找
/oeasy/^a.*b$a开头b结束的行/\<a.*b\>a开头b结束的单词
替换
:%s/shiyanlou/oeasy/gc:3,9s/\<a.*b\>//gc3-9行中a开头b结束的单词都删除:g/oeasy/d带oeasy的都删除
可视化模式
可视模式的首尾切换
- o
- O
可以用
in的方式制作选择范围vitvi}vib
总共有三种可视化模式
- 字符可视化
- 行·可视化
- 块·可视化
可以在选区里面进行编辑操作
- d、c、y、p
- 还可以进行替换
也可以在命令模式下对范围进行操作
:'<,'>d
插入题头
:r !ls -lah使用命令
:2,15normal I001.- 注意是
001,而不是1
- 注意是
- ctrl+v选中
3-5行的开头字符 - g之后ctrl+a
1111变成1234
总结
包括5种模式
- 正常、插入、命令行、可视化、替换
许多编辑命令
- d、c、y、p
- 编辑命令可以配合
motion和in - 文本可以进行搜索和替换
基本就这些吧!!!♂️
- 真是全面地大总结啊
- 可以在终端里面玩开了
shell下 运行vimtutor zh- 看看自己多久能够通关
- 这是一个重大的关卡
- 做完了之后
- 我们继续向前
oeasy教您玩转vim - 59 - # 编辑总结的更多相关文章
- 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内容回顾
我们来回顾一下 我们都讲了什么?
随机推荐
- 保姆教程系列:Git 实用命令详解
!!!是的没错,胖友们,保姆教程系列又更新了!!! @ 目录 前言 1.将本地项目推送到远程仓库 2. Idea Git回退到某个历史版本 3. 修改项目关联远程地址方法 4. Git 修改分支的名称 ...
- Instsrv.exe 与 Srvany.exe 安装Windows服务
原理:Instsrv.exe可以给系统安装和删除服务 Srvany.exe可以让exe程序以服务的方式运行(Srvany只是exe注册程序的服务外壳,可以通过它让我们的程序以SYSTEM账户活动,随电 ...
- vue绑定对象,绑定的值不改变的问题
在使用vue结合elmentui的table组件,对数组绑定,需要编辑数组里一些属性的值.我的情况是,需要在打开这个表时,根据条件插入一些对象到table里,经测试,到这里是没问题的,可以显示新插入的 ...
- 记录一次HTTPS无法访问的错误
Https无法连接Nginx,日志报错 *2179 SSL_do_handshake() failed (SSL: error:1420918C:SSL routines:tls_early_post ...
- .NET桌面程序混合开发之四:键盘事件的响应
1. 问题 在生产环境中,有一些场景需要窗体来响应键盘事件(注意,是窗体响应,而不是窗体上的控件响应),如解析扫码枪的扫描结果.但在嵌入WebView2的Form程序,Host Form无法对键盘事件 ...
- React 的 KeepAlive 探索
什么是 KeepAlive? 用过 Vue 的童鞋都知道 Vue 官方自带了 Keep-Alive 组件,它能够使组件在切换时仍能保留原有的状态信息,并且有专门的生命周期方便去做额外的处理.该组件在很 ...
- YNOI 做题记
YNOI 做题记 偶然有一天做到了其中的一道题,于是便开始做相关的题了-- [Ynoi2015] 我回来了 - 洛谷 这之一场联考搬过来的题--于是考场上写了一个 \(O((n + m)\log^2 ...
- LeetCode 682. Baseball Game 棒球比赛(C++/Java)
题目: You're now a baseball game point recorder. Given a list of strings, each string can be one of th ...
- ABC319题解
直接从 D 开始了. D 可可爱爱的二分捏. check 就按照题目里写的就行了. 然后 \(l\) 的初值要注意一下,就是 \(\max^{i \le n}_{i=1}a_i\). 代码: #inc ...
- Easysearch 内核完善之 OOM 内存溢出优化案例一则
最近某客户在使用 Easysearch 做聚合时,报出 OOM 导致掉节点的问题,当时直接让客户试着调整 indices.breaker.request.limit ,但是不起作用,于是又看了下 Ea ...