现在的位置: 首页 > 综合 > 正文

VI的查找与替换

2013年09月10日 ⁄ 综合 ⁄ 共 1219字 ⁄ 字号 评论关闭

替换::

"s"代表替换,part1代表查找的内容,part2代表替换的内容,"%"代表所有行,"g"代表替换整行里所有的内容(如果不加"/g" 则只替换每行第一个匹配part1的地方)

  • %表示全部的行;
  • .表示当前行;
  • $表示最后一行;
  • 可以用具体的数字表示具体的行,如10,20等

:s/part1/part2           #用part2替换当前行中第1个part1
:s/part1/part2/g         #用part2替换当前行中所有的part1
:%s/part1/part2         #用part2替换所有行中每行第1个part1
:%s/part1/part2/g       #用part2替换所有行中所有的part1
:2,50s/part1/part2       #用part2替换第2行到第50行中每行第1个part1
:2,50s/part1/part2/g     #用part2替换第2行到第50行中所有的part1

:.,$s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串

:.,+3s/part1/part2       #用part2替换当前行以及当前行后面的三行中每行第1个part1
:.,+3s/part1/part2/g     #用part2替换当前行以及当前行后面的三行中所有的part1
BTW:在替换时要注意,某些字符是需要转译的,如空格、括号等。

查找::

查找命令:

要自当前光标位置向上搜索,请使用以下命令:
/pattern Enter
其中,pattern 表示要搜索的特定字符序列。
要自当前光标位置向下搜索,请使用以下命令:
?pattern Enter
按下 Enter 键后,vi 将搜索指定的 pattern,并将光标定位在 pattern 的第一个字符处。
如果 vi 找到了 place,它将把光标定位在 p 处。要搜索 place 的其他匹配,请按 n 或 N:
n,继续朝同一方向搜索 place。
N,反方向进行搜索。

4.5.1 搜索特殊匹配
在上面的示例中,vi 查找到包含 place 的任何序列,其中包括 displace、placement 和 replaced
要查找单个的 place,请键入该单词,并在其前后各加一个空格
/ place Enter
要查找仅出现在行首的 place,请在该单词前加一个插字符号 (^):
/^place Enter
要查找仅出现在行尾的 place,请在该单词后加一个货币符号 ($):
/place$ Enter
要逐字搜索这种带有插字符号 (^) 或货币符号 ($) 的字符,请在字符前加一个反斜线 (\)。反斜线命令 vi 搜索特殊字符。
使用 $
特殊字符是指在 vi 中具有特殊功能的字符(例如 ^、$、*、/ 和 .)。例如,$ 通常表示“转至行尾”,但是,如果 $ 前紧跟一个 \,则 $ 只是一个普通的字符。
例如,/(No \$ money) 向上搜索字符序列 (No $ money)。紧跟在 $ 之前的转义字符 (\) 命令 vi 逐字搜索货币符号。

抱歉!评论已关闭.