vi全部替换

本文介绍了在Vim编辑器中进行文本替换的方法,包括全文替换、特定范围内的替换等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

全文替换比如将.o换为.c

  :%s/\.o/\.c/g    %表示所有行,g表示全部替换

替换当前行第一个

  :s/aaa/bbb/

替换从1到12行所有

  :1,12s/aaa/bbb/g

转载于:https://www.cnblogs.com/koujiaodahan/p/7832462.html

### 如何在VI编辑器中进行全局文本替换VI编辑器中,可以通过使用 `:s` 命令结合正则表达式和范围指定符来实现全局文本替换。以下是一些常见的全局替换操作及其对应的命令示例: 1. **将文件中的某个单词替换为另一个单词** 使用 `%s/旧内容/新内容/g` 命令可以完成整个文件的全局替换。例如,将所有出现的 "oldword" 替换为 "newword": ```vim :%s/oldword/newword/g ``` 此命令会搜索整个文件,并将每个匹配项替换为指定的新内容[^2]。 2. **处理特殊字符或正则表达式** 如果需要更复杂的替换规则,可以使用正则表达式。例如,将 "That or this" 替换为 "This or that": ```vim :%s/\(That\) or \(this\)/\u\2 or \l\1/ ``` 在这里,`\u` 用于将后一个单词首字母大写,`\l` 用于将前一个单词首字母小写[^2]。 3. **替换行尾特定模式** 若要替换行尾的特定模式,可以使用锚点 `$`。例如,将所有以 "child" 结尾的行替换为 "children": ```vim :%s/child\([ ,.;!:?]\)/children\1/g ``` 这里的 `\1` 表示引用前面括号内的捕获组[^2]。 4. **删除多余空格** 将多个连续空格替换为单个空格: ```vim :%s/ */ /g ``` 或者将句号或冒号后的多余空格替换为单个空格: ```vim :%s/\([:.]\) */\1 /g ``` 5. **删除空白行** 删除所有空行: ```vim :g/^$/d ``` 删除所有仅包含空白字符的行: ```vim :g/^[ ]*$/d ``` 6. **批量插入或修改内容** 在每行开头插入两个大于号 (`>>`): ```vim :%s/^/>> / ``` 在接下来的 6 行末尾添加句号: ```vim :.,5/$/./ ``` 7. **过滤 Windows 换行符** 如果需要去除 Windows 文件中的回车符 (`^M`),可以使用以下命令: ```vim :%s/^M//g ``` 注意:输入 `^M` 时,需按 `Ctrl+V` 然后按 `Enter` 键[^3]。 ### 示例代码 以下是一个完整的 VI 编辑器全局替换示例,展示如何将文件中的所有 "example" 替换为 "sample": ```vim :%s/example/sample/g ``` 如果需要确认每次替换,请添加 `c` 参数: ```vim :%s/example/sample/gc ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值