我有一个文本文档,其空行和行以大写月份开头。
我想添加" - "到每个非空白行的开头。
试过这个:
1,$s/^[A-Z]/- /
它删除了当月的第一个字母(例如" - une"它应该是" - June") 我该如何添加这封信?或者是否有更好的"为大型文档执行此操作的方法,我需要保持空白线不变。
答案 0 :(得分:4)
试试这个,它应该给你想要的东西
%s/^[A-Z]/- &/
或使用:g
:
:g/^[A-Z]/s/^/- /
答案 1 :(得分:2)
您有一个答案可以重新添加匹配的文本,或者避免在替换期间完全匹配文本。另一种方法是将匹配指定为零宽度,或设置匹配的结尾,以便文本匹配但不替换:
%s/^[A-Z]\@=/- /
或
%s/^\ze[A-Z]/- /
请参阅:help zero-width
,:help /\@=
,:help /\ze
。