给出以下行:
[aaaa bbbb cccc dddd] [decimal](18,0) NULL,
如何在Vim的第一组括号之间替换空格? / s命令会是什么样的?
更新:
这是预期的结果
[aaaa_bbbb_cccc_dddd] [decimal](18,
@R_403_323@
最简单的方法是直观地选择[] ed字符串的内容,并在该选择上执行替换:
vi]:s/\%V \%V/_/g
但是,如果您尝试以编程方式执行操作,则无法正常工作.在这种情况下,您可以匹配整个[] ed字符串并使用replacement expression来构造结果.
:s/\[[^\]]*\]/\=substitute(submatch(0),' ','_','g')/g