我正在编辑一个文件,其行类似于以下内容:
{"a_function", a_function},
{"a_second_function", a_second_function},
我想将下划线转换为空格,但只能在引号内。有没有办法只使用
:substitute
来做到这一点?命令?我知道我可以通过录制宏来做到这一点,并且可能有插件可以做到这一点,但为了聪明起见,我想用 :substitute
一次性做到这一点。命令。
最佳答案
此命令应该执行您想要的操作:
:%s/\v(".{-}")/\=substitute(submatch(1), "_", " ", "g")
我捕获每一行的第一对引号,然后将其用作替换并删除所有下划线。
关于vim - 仅使用替换命令替换 vim 中的部分行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23206584/