如何只在VIM中小写引号字符串

时间:2013-08-21 00:24:38

标签: regex shell vim lowercase

说我有一个包含以下内容的文件:

Apple 'BANANA' ORANGE 'PEACH'

将所有引用的大写字母转换为小写的正则表达式是什么?

预期的输出文件应如下所示:

Apple 'banana' ORANGE 'peach'

1 个答案:

答案 0 :(得分:9)

尝试

:%s/'\w\+'/\=tolower(submatch(0))/g

'\w\+'匹配引号内的任何字词。并将其替换为匹配的小写版本。 \=告诉替代人评估表达式tolower(submatch(0)),其中tolower()submatch(0)中找到的字符串(整个匹配)切换为小写。


您还可以使用\L原子将其后的字符串转换为小写,\0submatch(0)相同

:%s/'\w\+'/\L\0/g

查看:h s/\L