[Github地址] ()
[Gitee地址] (overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 Vim_Linux - 蓝桥云课)
查找细节
回忆上节课内容????
-
进行了模式匹配批量替换的的操作
-
替换单词
-
转义字符
-
删除空行
-
还有替换还有一些什么玩法吗?????
markdown变html
-
要把 markdown 文件中的 *斜体*
-
变成 html 中的 斜体
-
先写框架
-
s///gc
-
修改基本框架
-
s/\*.*\*//gc
-
匹配模式
-
先试一下,是否有高亮匹配
-
如果没有就:se hls
原子化
-
仍然能够查找到
-
下面就是替换部分
-
s/\*(.*)\*/\1/gc
-
s/\*(.*)\*/\1<\/em>/gc
-
回车,替换成功!
使用参数
-
还是把html文件转化为md文件
-
我需要把
替换为 - 空格
-
先搜索/
,可以搜到,说明尖括号不用转义
-
再搜索/
.*
-
可以匹配
-
开始写
-
:%s///gc
-
:%s/
.*
//gc
-
:%s/
(.*)
//gc
-
:%s/
\(.*\)<\/h1>//gc
-
:%s/
\(.*\)
/- \1/gc
-
如果要把
替换为 - 怎么办?
-
如何修改
-
:%s/
\(.*\)
/ - \1/g
多个参数
-
原来的列表
-
需要的列表
-
需要前后对调,还要去掉逗号
-
%s///gc
-
%s/.*,.*//gc
-
%s/(.*),(.*)//gc
-
%s/([^,]*),([^,]*)//gc
-
%s/\([^,]*\),\([^,]*\)//gc
-
转义
-
\([^,]*\),\([^,]*\)原来的列表
-
([^,]*\) 前面的第一个原子,内容为除了逗号之外的字符
-
, 分隔符逗号
-
([^,]*\) 前面的第二个原子,内容为除了逗号之外的字符
-
高亮显示匹配的话
-
:%s/\([^,]*\),\([^,]*\)/\2 \1/gc
-
完成对调
如果是a标签呢?
问题
-
oasdfo
-
这句话有两个超链接
-
但是替换之后
-
却变成了一个超链接
-
这怎么办?
-
贪婪匹配与非贪婪匹配
-
.*对应的是贪婪匹配 greedy
-
.{-}对应的是非贪婪匹配 non-greedy
-
会匹配第一个符合条件的
-
什么是贪婪匹配?
贪婪匹配
-
把 md 中的**重点文字**和**重点**
-
变成 html 中的 重点文字
-
注意他把这两个分开了
-
\*\*.\{-}\*\*
-
\*\* 代表前两个星号
-
. 的数量是\{-}
-
\*\*代表后两个星号
-
. 的数量是\{-}
-
根据这个我们来写替换语句
-
:s///gc
-
:s/**(.*)**//gc
-
:s/\*\*\(.*\)\*\*//gc
-
:s/\*\*\(.\{-}\)\*\*//gc
-
:s/\*\*(.\{-})\*\*/\1<\/strong>/gc
-
尝试一下
-
根据这个,是否能解决一行中有多个元素的问题
匹配模式
如果是标签呢
总结
-
我们学习了关于模式匹配中使用参数
-
别着急
-
先列框架
-
在一步一步填充进去皮肉
-
注意转义
-
冷静仔细
-
不断看着高亮的反馈
-
单个参数
-
多个参数
-
:%s//[!\2]\1
-
非贪婪匹配
-
我们介绍一种更神奇的模式,可视化编辑模式????
-
下次再说 ????
阅读(905) | 评论(0) | 转发(0) |