vim查找/替换字符串

1.:s 命令来替换字符串。

:s/vivian/sky/       替换当前行第一个 vivian 为 sky
:s/vivian/sky/g      替换当前行所有 vivian 为 sky
:n,$s/vivian/sky/     替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g    替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

2.n 为数字,若 n 为 .,表示从当前行开始到最后一行 

:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
 
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

3.可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符 

:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/
 
:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/

4. 替换确认

我们有很多时候会需要某个字符(串)在文章中某些位置出现时被替换,而其它位置不被替换的有选择的操作,这就需要用户来进行确认,vi的查找替换同样支持例如:
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
在命令后面加上一个字母c就可以实现,即:s/vivian/sky/gc
顾名思意,c是confirm的缩写

5. 注释

:1,10 s/^/#/g  # 在1~10 行首添加 # 号注释
:1,10 s/^#//g  # 去注释

6. 取消高亮,取消行号

:nohl    # 取消高亮
:set nonu

7. 设置tab为4个空格

set ts=  (注:ts是tabstop的缩写,设TAB宽4个空格)
set expandtab

8. 语法高亮

syntax on
syntax off

9. 查找

/后跟查找的字符串。vim会显示文本中第一个出现的字符串。
?后跟查找的字符串。vim会显示文本中最后一个出现的字符串。
高亮所有的匹配后,按n键转到下一个匹配,按N键转到上一个匹配。
上一篇:MySQL的事务的处理


下一篇:linux cpio 备份命令