发布时间:2022-08-09 文章分类:编程知识 投稿人:赵颖 字号: 默认 | | 超大 打印

1,简单替换表达式

  1. 搜索并替换。输入:[range]s/from/to/[flags]命令可以搜索匹配的字符串并且替换为指定的
    字符串。这是一个稍微复杂的命令。其中[range]是一个可选项,用来指定搜索替换的范围。[flags]也是一个可选项,用来指定搜索替换的处理方
    式。所以这个命令的简单形式是:s/from/to/

    1. 搜索替换的范围。如果没有指定范围,则只在当前行进行搜索替换。

      1. 在所有行进行搜索替换。范围符号%表示在所有行进行搜索替换。:%s/from/to/就是在全文查找from并替换为to。
      2. 在指定的行上进行搜索替换。:1,50s/from/to/表示在第1行和第50行之间(包括1和50行)进行搜索和替换。:45s/from/to/表示仅仅在第45行进行搜索和替换。而"1,$"行号范围和“%“是等价的。

替换命令可以在全文中用一个单词替换另一个单词:

:%s/four/4/g

“%” 范围前缀表示在所有行中执行替换。最后的 “g” 标记表示替换行中的所有匹配点。如果仅仅对当前行进行操作,那么只要去掉%即可

如果你有一个象 “thirtyfour” 这样的单词,上面的命令会出错。这种情况下,这个单词会被替换成”thirty4″。要解决这个问题,用 “\<” 来指定匹配单词开头:

:%s/\<four/4/g

显然,这样在处理 “fourty” 的时候还是会出错。用 “\>” 来解决这个问题(全词匹配):