我想将一大组标识符从小写更改为大写。我有一个文件,其中包含许多(数百个)以 q_
开头的唯一标识符。 .我构建了一个定义这个匹配的正则表达式:(q_\w*)
现在我想申请 ~
命令使它们全部大写(它们当前是小写)。我觉得 VIM 完全有能力做到这一点,但我的技能还没有,你能帮忙吗?
最佳答案
如果要大写整个标识符,对于文件中的每个标识符,请使用以下替换命令:
%s/q_\w\+/\U&/g
这里的诀窍是
&
在替换模式中,它引用了整个匹配项。这将替代例如q_identifier1
与 Q_IDENTIFIER1
.如果您只想大写
q
,那么你可以使用:%s/q_\(\w\+\)/Q_\1/g
现在
q_identifier1
将改为:Q_identifier1
如果你想大写除
q_
之外的所有内容,然后使用:%s/q_\(\w\+\)/q_\U\1/g
现在
q_identifier1
将改为:q_IDENTIFIER1
关于regex - VIM:选择一个正则表达式,然后应用一个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12715101/