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键转到上一个匹配。