我试图插入字符(不包括引号)" *"在文本文件的所有行中,不以字符*。
开头以下gvim模式'几乎'作品
%s/^[^*]/*/gc
问题是,如果该行是
Bla bla bla
然后它变成
* la bla bla
即,第一个字符由替换写过。
我希望能够确认每次插入,因为文件中有一些行我不想要" *"插入。
我已经找到了这种模式,但却找不到任何答案。
答案 0 :(得分:3)
你几乎就在那里。因为模式匹配第一个(非*
)字符,但在替换中未被引用,它会丢失。您可以重新加入它(通过特殊&
符号或\0
(cp。:help s/\&
):
%s/^[^*]/* &/gc
或者您更改模式以通过\ze
从实际匹配中排除字符(因此匹配实际上立即在行的开头结束,但它仍然断言那里有非{{{ 1}}以下):
*