末行模式

1)地址定界
:start_pos[,end_pos]
#: 特定的第#行,例如5 为第五行
.: 当前行
$:最后一行
#,#:指定行范围,左侧为起始行
#,#+:指定行范围,右侧为左侧行的偏移量 ,例如:3,+7
%:全文
/pattern/:第一次被模式所匹配到的行

2:可实现编辑操作 ,同编辑命令一同使用
d:表示直接删除,要求直接跟在地址定界符号的后面, 例如::.,$d 表示当前行到最后一行删除。
y:用来复制地址定界匹配到的行
c:用来修改地址定界匹配到的行
w /path/to/file :将范围内的文本保存至文件中
r /path/to/file:将指定的文件的文本插入指定位置

3:查找
/pattern:查找模式匹配到的所有字符串,向下查找, 然后在键盘上按n键会继续向下匹配
?pattern: 查找模式匹配到的所有字符串,向上查找,然后在键盘上按n键会继续向上匹配

4:查找并替换(极其重要)
1)格式:地址地接符s/要查找的内容/替换为的内容/修饰符 (例如:%s/a/b/g  这里是把vim编辑中的'a'替换成'b','g'表示全局替换)u 是撤销。U 是一次性撤销对该一行的操作。
要查找的内容:可以使用正则表达式
替换为的内容:不能使用正则表达式,但是可以引用
如果使用了分组,也就是在要查找的内容中使用了( )话,可以使用后向引用, \1表示引用第一个括号匹配的内容, \2表示第二个括号匹配的内容, \3表示第三个括号匹配的内容
也可以直接引用查找模式匹配到的整个文本,直接使用匹配模式的全部文本:用&符号引用整个模式匹配到的文本

2)修饰符
i:忽略大小写
g:全局替换,也就是如果不加g的话,那么只是一行匹配一个,如果第二个被匹配了也不会被替换,如果加了g,那么一行中无论匹配到多少个都会被替换

3)可把分隔符替换为非常用的字符
例如:s@@@
s###

posted @ 2017-10-13 16:45  ~小学生~  阅读(243)  评论(0编辑  收藏  举报