2

例如,我有:

  double foo = 0.0;  
  double bar = 0.0;

我想编写某种搜索来查找每个变量并将其更改为:

  double Foo = 0.0;  
  double Bar = 0.0;

我不想一次做这一个变量(例如:%s/foo/Foo/g),而是一次全部做,接近

:%s/  double \(\w\+\)/  double \1/c 

(并以某种方式将 \1 的第一个字符大写)

4

4 回答 4

3

在替换子句中使用\u匹配的前缀:

一次一个:

:%s/ double \(\w\+\)/ double \u\1/c

一次全部:

:%s/ double \(\w\+\)/ double \u\1/g

如果要使整个匹配大写,请使用\Uand\E分隔符:

:%s/ double \(\w\+\)/ double \U\1\E/g
于 2012-05-24T21:44:39.750 回答
1

使用\u

%s/ double \(\w\+\)/ double \u\1/c
于 2012-05-24T21:46:27.017 回答
0
s:\(\<double\>\)\(\<\w\+\>\):\1 \u\2:g

or sume-such.

于 2012-05-24T22:01:57.463 回答
0

无法让其他人工作,这对我有用:

:%s/\(double \)\<\(\w\)\(\w*\)\>/\1\u\2\L\3/g
于 2012-05-24T21:48:48.957 回答