【vim 中如何替换】

「vim 中如何替换」


1. 最常用的几条命令

在 Vim 里,替换命令的基本格式是:

vim 复制代码
:[范围]s/原内容/新内容/[标志]

1) 当前行替换

vim 复制代码
:s/foo/bar/      " 当前行,将第一个 foo 换成 bar
:s/foo/bar/g     " 当前行,将所有 foo 换成 bar

2) 整个文件替换

vim 复制代码
:%s/foo/bar/g    " 全文所有 foo 换成 bar
:%s/foo/bar/gc   " 全文替换,逐个确认(y 是替换,n 跳过)

3) 指定行范围替换

vim 复制代码
:3,10s/foo/bar/g   " 第 3 行到第 10 行之间替换
:.,$s/foo/bar/g    " 当前行到文件末尾替换
:.,+4s/foo/bar/g   " 当前行和之后 4 行里替换

2. 常用标志说明

放在命令最后的 /[标志] 部分:

标志 含义 示例
g 一行中全部匹配 :%s/foo/bar/g
c 每次替换前确认 :%s/foo/bar/gc
i 忽略大小写 :%s/foo/bar/gi
I 强制大小写敏感 :%s/foo/bar/gI
e 没有匹配不报错 :%s/foo/bar/ge

3. 只替换完整单词(不替换子串)

比如只想把独立单词 foo 换成 bar,而不影响 foobar

vim 复制代码
:%s/\<foo\>/bar/g
  • \< 表示单词开始
  • \> 表示单词结束

4. 一些非常实用的小技巧

1) 替换前确认

vim 复制代码
:%s/foo/bar/gc

每个匹配都会问你:replace with bar (y/n/a/q/l/^E/^Y)?

  • y:替换当前
  • n:跳过当前
  • a:替换后面全部
  • q:退出
  • l:只替换这一处后退出

2) 在可视选区内替换

  1. 在普通模式按 Vv 选中一段文本

  2. :,命令行会自动出现 :'<,'>

  3. 输入替换命令,例如:

    vim 复制代码
    :'<,'>s/foo/bar/g

只会在选中的区域里替换。

3) 删除匹配的文本

vim 复制代码
:%s/foo//g     " 删除全文中所有 foo
:s/foo//g      " 删除当前行所有 foo

4) 去掉多余空格(典型格式化操作)

vim 复制代码
:%s/\s\+/ /g       " 多个空白变成一个空格
:%s/\s\+$//e       " 删除每行行尾空白

5. 最小速查表

vim 复制代码
:s/a/b/          " 当前行第一个 a -> b
:s/a/b/g         " 当前行所有 a -> b
:%s/a/b/g        " 全文所有 a -> b
:%s/a/b/gc       " 全文替换,逐个确认
:3,10s/a/b/g     " 第 3~10 行的 a -> b
:%s/\<a\>/b/g    " 只替换独立单词 a -> b
相关推荐
Data-Miner5 小时前
商品ABC分类分析怎么用AI做?脚本复用+图表可编辑的一次完整实操
人工智能·数据分析·excel
Tairitsu_H5 小时前
[Linux] 编辑器vim、编译器和动静态链接
linux·vim·gcc·g++·动态链接·静态链接
东木月1 天前
PyCharm 集成 Claude Code 插件:安装、配置与使用指南
python·pycharm·编辑器
boke112百科1 天前
WordPress经典编辑器【插入至文章】按钮怎么调到右上角?
编辑器·wordpress·wordpress教程·经典编辑器
我要见SA姐12 天前
DeepSeek Harness 开源贡献手记:从 Issue 到 Merge 的完整旅程
ide·vscode·python·自动化·编辑器
ThornArmor2 天前
《向内深潜,向外飞掠》
c语言·开发语言·c++·vim·visual studio
我要见SA姐13 天前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
E-iceblue3 天前
Excel 列转行/行列转换全指南:从 4 种常见解法到 Python 批量自动化
python·excel·python库·spire.xls
Data-Miner3 天前
AI处理数据的脚本复用与逻辑复用有什么区别?哪种方式更能沉淀工作成果
数据分析·excel
福兮说3 天前
在浏览器里写一个“够用就好“的 Excel 公式求值器
前端·javascript·excel·编译原理