一、vim编辑器的工作模式
1. vim编辑器的三种工作模式
一般模式、编辑模式、命令行模式
2. 三种不同模式之间的切换
3. 文件内容查找
/word 从上而下在文件中查找字符串“word”
?word 从下而上在文件中查找字符串“word”
n 定位下一个匹配的被查找字符串
N 定位上一个匹配的被查找字符串
4. 保存文件及退出vi编辑器
保存文件:1):w
2):w/root/newfile 另存为其他文件
退出vi: 1):q 未修改退出
2):q! 放弃对文件内容的修改,并退出
保存文件退出vi :wq
5. 文件内容替换
:%s/old/new/g 在整个文件范围内替换所有的字符“old”为“new”
: %s/old/new/gc 加上c后,增加的功能为替换时需用户进行确认
6. 命令模式的部分常用重要命令
O:移动到该行首 $:移动到该行尾
G:移动到文件的最后行 nG:移动至文件第n行
dd: 删除光标所在行 ndd:删除包括光标所在行的n行
u:恢复刚才被修改的文本
Y:复制到当前行的编辑缓冲区 nY:复制当前行开始的n行至编辑缓冲区
p:将编辑缓冲区的内容粘贴到光标后的一行
P:将编辑缓冲区的内容粘贴到光标前一行
:set nu 显示行号 :setnonu 不显示行号
二、正则表达式
1. 相关概念
元字符:描述字符的字符,它用于对字符表达式的内容、转换及各种操作信息描述
正则表达式:是由一系列字符和元字符构成的字符串,简称RE(Regular Expression),它的主要功能是文本查询和字符串操作,它可以匹配文本的一个字符或字符集合。
2.通配符
*:匹配任意多个字符(0或者多个)
?:匹配任意一个字符
[...]:匹配中括号内出现的任意一个字符
[!...]:不匹配中括号内出现的任意一个字符
2. 基本正则表达式元字符(sed,grep,awk等工具)
1)字符匹配:
. :匹配任意单个字符
[]:匹配指定范围内任意单个字符
[^]:匹配指定范围外的任意单个字符
[[:digit:]] [[:lower:]] [[:upper:]][[:alpha:]] [[:alnum:]] [[:apace:]]
2)匹配次数:
*:匹配前面的字符任意次
.*:任意长度任意字符
\?:匹配前面字符串0次或者1次,即可有可无(扩展)
\+:匹配前面的字符至少1次(扩展)
\{m\}:匹配前面字符m次(扩展)
\{m,n\}:匹配前面字符至少m,至多n次(扩展)
3)位置锚定:
^:行首锚定
$行尾锚定
^PATTERN$:用于匹配整行
^$:空行
\<:词首锚定,用于单词模式的左侧
\>:词尾锚定,用于单词模式的右侧
\<PATTERN\>:匹配整个单词
3. 正则和通配符注意
*在通配符和正则表达式中有其不一样的地方,在通配符中*可以匹配任意的0个或多个字符,而在正则表达式中他是重复之前的一个或者多个字符,不能独立使用的。比如通配符可以用*来匹配任意字符,而正则表达式不行,他只匹配任意长度的前面的字符