这是我的问题。
在vim编辑器中,我想在整个文件中选择双引号之间的所有单词,并且我希望用前面的gettext字符串替换所选单词。请任何人告诉我vim命令这样做。
代表: 如果文件包含
printf(“first string \ n”); printf(“second string \ n”);
替换后我的文件应该是这样的
printf(gettext(“first string \ n”)); printf(gettext(“second string \ n”));
答案 0 :(得分:1)
在vim中试试这个:
:%s/\(".*"\)/gettext(\1)/g
此处\(
和\)
用于对文字进行分组,然后\1
用于将gettext
与{{1}}函数一起放回。< / p>
答案 1 :(得分:1)
你应该可以这样做:
s/\".\{-}\"/gettext\(\1\)/g
答案 2 :(得分:1)
在命令模式下:
:%s!"\([^"]*\)"!gettext("\1")!g
%
用于整个文档,[^"]*
用于除引号之外的任何内容,最后g
用于行中的所有出现(默认值仅为第一个)。分隔符char可以是regexp中没有的任何东西......我经常使用!
而不是/
(例如在处理路径时更方便。)