Vi编辑器与Shell提示符定制全攻略
1. Vi编辑器的搜索与替换功能
在Vi编辑器中,搜索和替换操作是非常实用的功能。我们可以使用ex命令来执行搜索和替换,也就是所谓的替换操作。例如,要将整个文件中的“Line”替换为“line”,可以输入命令:
:%s/Line/line/g
下面来详细分析这个命令的各个部分:
| 部分 | 含义 |
| — | — |
| : | 冒号字符用于启动一个ex命令。 |
| % | 指定操作的行范围,%是一个快捷方式,表示从第一行到最后一行。也可以指定具体的范围,如1,5(假设文件有五行)或1,$(表示从第1行到文件的最后一行)。如果省略行范围,操作将仅在当前行执行。 |
| s | 指定操作类型,这里是替换(搜索并替换)。 |
| /Line/line/ | 搜索模式和替换文本。 |
| g | 表示全局,即对每行中搜索字符串的每个实例都执行替换。如果省略g,仅替换每行中搜索字符串的第一个实例。 |
执行上述搜索和替换命令后,文件内容会相应改变。
我们还可以指定带有用户确认的替换命令,方法是在命令末尾添加c。例如:
:%s/line/Line/gc
执行这个命令时,在每次替换之前,Vi会停止并询问我们是否确认替换,显示如下消息:
replace with Line (y/n/a/q/l/^E/^Y)?
各个字符的含义如下:
| 键 | 操作 |