📜  全局查找和替换 vi - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:07:04.227000             🧑  作者: Mango

全局查找和替换 vi - Shell-Bash

在 Shell-Bash 环境下,使用 vi 文本编辑器进行全局查找和替换是非常方便的。以下是一些常用的 vi 命令和技巧,用于全局查找和替换文本。

查找文本
  • /pattern: 在文本中查找 pattern
  • n: 定位到下一个匹配的 pattern
  • N: 定位到上一个匹配的 pattern
替换文本
  • :%s/old/new/g: 把所有的 old 替换成 new
    • %: 匹配整个文本。
    • s: 替换命令。
    • /g: 全局替换标志。
  • :n,m s/old/new/g: 在第 n 行和第 m 行之间,把所有的 old 替换成 new
  • :s/old/new/gc: 逐个询问是否替换。
忽略大小写
  • :set ignorecase: 忽略大小写。
  • :set noignorecase: 不忽略大小写。
  • :set smartcase: 区分大小写和忽略大小写自动切换。
替换整个项目中的文本
  • find . -type f -not -path "./.git/*" -not -path "./.idea/*" -not -path "./node_modules/*" -not -path "*.log" -not -path "./vendor/*" -not -path "./storage/*" -not -path "./bootstrap/cache/*" -name '*.php' | xargs sed -i 's/old/new/g': 在项目中查找并替换所有的 old

以上是一些常用的 vi 命令和技巧,用于全局查找和替换文本。在熟练掌握这些基础命令后,程序员们可以更快地定位到需要修改的内容,并且高效地进行替换操作。