如何使用gvim插入不包含字符的行的开头

时间:2015-03-24 20:06:29

标签: vim

我试图插入字符(不包括引号)" *"在文本文件的所有行中,不以字符*。

开头

以下gvim模式'几乎'作品

%s/^[^*]/*/gc

问题是,如果该行是

Bla bla bla

然后它变成

* la bla bla

即,第一个字符由替换写过。

我希望能够确认每次插入,因为文件中有一些行我不想要" *"插入。

我已经找到了这种模式,但却找不到任何答案。

1 个答案:

答案 0 :(得分:3)

你几乎就在那里。因为模式匹配第一个(非*)字符,但在替换中未被引用,它会丢失。您可以重新加入它(通过特殊&符号或\0(cp。:help s/\&):

%s/^[^*]/* &/gc

或者您更改模式以通过\ze从实际匹配中排除字符(因此匹配实际上立即在行的开头结束,但它仍然断言那里有非{{{ 1}}以下):

*