技巧88-认识substitute命令
substitute命令允许先查找一段文本,再用另一段文本将其替换掉。命令语法如下:
:[range]s[ubstitue]/{pattern}/{string}/[flags]
[range]对每一条Ex命令都有效
利用标志位调整substitute命令的行为
- 标志位
g:使得substitue命令可以在全局范围内执行。 - 标志位
c:让我们有机会确认或拒绝每一次修改。 - 标志位
n:会抑制正常的替换行为,即让Vim不执行替换操作,而只报告本次命令匹配的个数。 - 标志位
e:屏蔽错误提示。 - 标志位
&:让Vim重用上一次的标志位。
| flag | 含义 | 例子 |
|---|---|---|
| g | 使得substitute命令在全局范围内执行 | 技巧89 |
| c | 每处修改进行询问 | 技巧90 |
| n | 抑制正常的替换行为 | 技巧86 |
| e | 屏蔽错误提示 | - |
| & | 指示Vim重用上一次substitute命令所用过的标志位 | 技巧93 |
替换域中的特殊字符
使用:h sub-replace-special 查看特殊字符的完整列表
部分常用符号
| 符号 | 描述 | 例子 |
|---|---|---|
| \r | 插入一个换行符 | - |
| \t | 插入一个制表符 | - |
| \ | 插入一个反斜杠 | - |
| \1 | 插入第1个子匹配 | 技巧94 |
| \2 | 插入第2个子匹配 | 技巧94 |
| \0 | 插入匹配模式的所有内容 | - |
| & | 插入匹配模式的所有内容 | - |
| ~ | 使用上一次调用:substitute时的{string} | 技巧93 |
| \={Vim script} | 执行{Vim script}表达式;并将返回的结果作为替换{string} | 技巧95,技巧96 |