将某些字符内的所有字符大写?

将某些字符内的所有字符大写?

假设我有几行文字:

--:hello:--
my name is bob
how are you

--:goodbye:--
it was nice to meet you
see you later

我想将“--:”和“:--”之间的所有内容大写,可以吗?

答案1

这个命令应该可以做到这一点:

:%s/--:\(.*\):--/--:\U\1:--/g

答案2

我会搜索足以将光标放在单词上(e 将光标放在匹配项的末尾)。然后使用 gUiw 将单词大写。

/--:./e
gUiw

然后只需按“n”和“。”即可移动到下一个搜索结果并重复更改。

如果手动操作太多,你可以先做第一个,然后录制一个宏来执行第二个

qqn.q

qq 开始录音
n. 转到下一个并重复大写
q 停止录音

然后您可以执行 100@q 来对接下来的 100 个匹配项执行更改。

相关内容