Linux在vi中的查找替换
查找方法
-
vi中的查找支持很多种方式,比如向上查找、向下查找、以XX开始的行、以XX结束的行,下面先介绍一下这些控制查找方式的符号说明
-
特殊符号说明,XX表示待查找的字符串
符号 意义 /XX 向下查找XX ?XX 向上查找XX /^XX 向下查找以XX开始的行 ?^XX 向上查找以XX开始的行 /XX$ 向下查找以XX结束的行 ?XX$ 向上查找以XX结束的行 这些都是指令需要先按Shift + : 再输入上面指令
“/” 除了作为向下查找的符号外,同样也是转义字符
eg://XX表示的不是向下查找以“**XX**”开始的行,而是查找“**XX**”字符串
-
案例
- 通过vi redis.conf打开redis的配置文件,如下图
-
向下查找所有的Reids字符
由上图可以看到目前是INSERT状态,下图我已经标出了当前窗口内的Redis位置及光标的位置
按ESC,再输入SHIFT + : ,可以看到这里就可以输入查询指令了
输入
/Redis
再按回车开始向下查找,可以发现光标的位置变到了向下查找第一个Redis的前面查找后,可以是使用快捷键
n
来进行同方向继续查找,使用N
反向继续查找
替换方法
-
下面代码以将XX替换为YY为例进行介绍,n表示第n行,其余符号均是指令
符号 意义 s/XX/YY/ 替换当前行第一个XX为YY s/XX/YY/g 替换当前行所有XX为YY %s/XX/YY/ 替换所有行的第一个XX为YY %s/XX/YY/g 替换所有行的所有XX为YY n,$s/XX/YY/ 替换第n行开始到最后一行的第一个XX为YY n,%s/XX/YY/g 替换第n行开始到最后一行的所有XX为YY -
案例
替换所有行的所有Redis为sideR
输入
%s/Redis/sideR/g
结果为