5

在vi中,如果每行中的第一个字符是指定字符,如何a用另一个字符替换!?如果第一个字符是空格,什么也不做。

4

2 回答 2

23

如果一行的第一个字符是 'a',则全局替换它:

:%s/^[a]/!/

如果一行的第一个字符不是空格,则全局替换它:

:%s/^[^ ]/!/
于 2013-06-08T02:43:41.680 回答
5

或者使用全局命令:g

:g/^a/s//!

这将自动跳过所有以空格或不匹配字符开头的行,^a并将所有匹配替换为!

于 2013-07-02T03:51:36.123 回答