替换每行的第一个字符

时间:2013-06-08 02:42:30

标签: vim vi

在vi中,如果指定的字符a与另一个字符!一起,如何替换每一行中的第一个字符?如果第一个字符是空格,则不要做任何事情。

2 个答案:

答案 0 :(得分:21)

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

:%s/^[a]/!/

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

:%s/^[^ ]/!/

答案 1 :(得分:5)

或使用全局命令:g

:g/^a/s//!

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