vim: 字符串替换

 

:s/str1/str2/ 替换当前行第一个 str1 为 str2
:s/str1/str2/g 替换当前行所有 str1 为 str2 ( 注意,  s/xx/xxx/g 语句从s开始,中间的空格视作字符串的一部分)


:n,n2  s/str1/str2/ 替换第 n 行开始到第n2行中每一行的第一个 str1 为 str2
:n,n2  s/str1/str2/g 替换第 n 行开始到第n2行中每一行所有 str1 为 str2
n 为数字,若 n 为 .,表示当前行. 若 n2 为 $,表示最后一行.


:%   s/str1/str2/ 替换每一行的第一个 str1 为 str2
:%   s/str1/str2/g 替换每一行中所有 str1 为 str2

可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#str1/#str2/# 替换当前行第一个 str1/ 为 str2/




总结上述替换命令:
1. 命令末尾的g:
    加 g,表示对搜索字符串的每次出现进行替换;
    不加 g,表示只对搜索字符串的首次出现进行替换;
2.多行替换:
    句首加上: n,n2
3.全文替换:
    句首加上: %
    句首加上: 1,$
4.    使用#作为分隔符,可以让 / 也作为字符串的一部分.
    使用/作为分隔符,可以让 # 也作为字符串的一部分.
    它们正好互补.

posted @ 2016-08-02 09:54  oucaijun  阅读(421)  评论(0编辑  收藏  举报
下载TeamViewer完整版 下载TeamViewer