vim替换

Vim替换命令的完整格式为:[range]s/{pattern}/{string}/[flags]。全局替换时,range使用%代表整个文件,例如:‌‌

  • :%s/foo/bar/g:将文件中所有foo替换为bar。‌
    g(全局)标志:不加g时仅替换每行第一个匹配项,添加后替换所有匹配项。‌
    c(确认)标志:添加c后,每次替换前会提示确认(y替换、n跳过、a替换全部),避免误操作。‌
  1. 指定行范围: 替换部分内容时,用行号或百分比定义范围:
  • 10,20s/old/new/g:替换第10至20行。
  • .,$s/old/new/g:替换从当前行到文件末尾。
  1. 正则表达式支持: Vim支持正则表达式,实现复杂匹配:
  • %s/\<foo\\u003e/bar/g:精确匹配单词foo(避免匹配foobar)。

注:在计算机编程中,\u003e 是一个 Unicode 转义序列,表示大于号(>)字符

  • %s/$\d\{3\}$-$\d\{3\}$-$\d\{4\}$/(\1) \2-\3/g:格式化电话号码。
  1. 特殊字符处理: 若old或new含/等特殊字符,需转义(如/)或改用其他分隔符(如#):
  • s#a/b#c/d#:以#为分隔符替换路径。
posted @ 2025-12-18 15:34  庶旁  阅读(2)  评论(0)    收藏  举报