linux 如何在 vi / vim 模式中使用搜索与替换功能

作者:Gakki

如何在 vi / vim 模式中搜索关键字

操作步骤:

  1. 进入 vi / vim 中,按下 [ ESC ] 按键跳到命令输入模式
  2. 输入 / 或者 ?,此时可以看到屏幕底部输入栏出现 / 或者 ?
  3. 然后输入需要查找的关键字,然后回车
  4. n 查找下一个事件或按 N 查找上一个事件
    注: / 表示向下搜索(常用),? 表示向上搜索。

如何在 vi / vim 模式中替换关键字

  • 语法::[range]s/pattern/string/[c,e,g,i]

    • range:指查找替换范围;如:1,20 表示从第 1 行至第 20 行进行查找替换。1,$ 表示从第 1 行至最后一行进行查找替换,也可以用 % 表示。% 是目前编辑的文章,# 是前一次编辑的文章。
    • s:表示替换操作
    • pattern:需要替换掉的字符串
    • string:将 pattern 替换为 string
    • c:即 confirm ,每次替换前会询问
    • e:不显示 error
    • g:globe,不询问,整行替换
    • i:ignore 不分大小写。
    • I:ignore 大小写敏感
  • 举例说明:

    • :n1,n2s/oldWords/newWords/g:在第 n1 行到第 n2 行之间查找oldWords,并将查找到的所有 oldWords 替换为 newWords
    • :s/oldWords/newWords/:在当前行查找 oldWords,并将查找到的第一个 oldWords 替换为 newWords
    • :s/oldWords/newWords/g:在当前行查找 oldWords,并将查找到的所有 oldWords 替换为 newWords
    • :n,$s/oldWords/newWords/:从第 n 行到最后一行查找 oldWords,并将查找到的每一行中的第一个 oldWords 替换为 newWords
    • :n,$s/oldWords/newWords/g:从第 n 行到最后一行查找 oldWords,并将查找到的每一行中的所有 oldWords 替换为 newWords
      注:
      1. 若将n,$s替换为.,$:表示从当前行到最后一行

你可能感兴趣的:(linux 如何在 vi / vim 模式中使用搜索与替换功能)