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内容回顾
我们来回顾一下 我们都讲了什么?
随机推荐
- volatile关键字到底有什么作用
提示:更多优秀博文请移步博主的GitHub仓库:GitHub学习笔记.Gitee学习笔记 volatile是Java提供的一种轻量级的同步机制.Java 语言包含两种内在的同步机制:同步块(或方法)和 ...
- H.265码流解析
这一篇内容旨在对H.265码流中的一些概念做简单了解,部分概念与H.264相同,本篇中将不再重复. 1.NALU H.265(HEVC)码流的NALU结构和AVC有一些不同,属于增强版,HEVC NA ...
- 从零开始写 Docker(十六)---容器网络实现(上):为容器插上”网线”
本文为从零开始写 Docker 系列第十六篇,利用 linux 下的 Veth.Bridge.iptables 等等相关技术,构建容器网络模型,为容器插上"网线". 完整代码见:h ...
- 在Rainbond上部署高可用Apollo集群
一.背景信息 当前文档描述如何通过云原生应用管理平台 Rainbond 一键安装高可用 Apollo 集群.这种方式适合给不太了解 Kubernetes.容器化等复杂技术的用户使用,降低了在 Kube ...
- iOS开发环境theos开发环境搭建与介绍
iOS开发环境theos开发环境搭建与介绍 标签(空格分隔): 越狱开发-第一篇 1. 环境准备 一台Mac,本人的机器是MacBook Air (13-inch, Mid 2013),系统是10.1 ...
- zoxide更新后 (cd)异常
关于zoxide github地址:https://github.com/ajeetdsouza/zoxide 简单来说 zoxide是一个cd的强化版.它会记录你曾经cd过的目录,在你使用cd的时候 ...
- jq 下载带上token设置form表单并且兼容ie8
先在publice公共资源里面或者自己随便写一个函数自己记得调用就行 先加载form表单组件 /** * 添加form下载组件 * @param {*} wrp */ appendFormDownlo ...
- ABC351
我多久没更新这个系列了啊 E 把格子分成两类,每一类之间的坐标均可互相走到. 然后将这里面的点都旋转 \(45\) 度,于是这个问题就被转换成曼哈顿距离的问题了. 我们可以把 \(x\) 和 \(y\ ...
- C#.NET AES ECB 加密
加密: /// <summary> /// 加密 /// </summary> /// <param name="content">要加密的串& ...
- 使用Pytest-xdist库执行分布式跑用例报错:No module named '_pytest.resultlog' 的解决方案
前言 1.使用库:pytest 6.1.0 2.使用库:pytest-xdist 2.2.0 运行分布式的测试代码: 1 import pytest,time 2 3 def test_01(): 4 ...