例如,是否有一种巧妙的方法来反转vim中某种类型括号内的字符串
{1,2,3,4,5}
=>
{5,4,3,2,1}
Run Code Online (Sandbox Code Playgroud)
?
小智 7
这个命令怎么样?
:%s/{\zs\\(.\\{-}\\)\ze}/\= join(reverse(split(submatch(0), '\zs')), '')/g
Run Code Online (Sandbox Code Playgroud)
其思想是利用append寄存器的特性,使用大写的寄存器名称。
为了实现这一点,你必须做一些准备工作:
"a寄存器::let @a=""{,1,2,3,4,5}}正常模式下好的,我们开始吧:
"AdF,,然后按.重复,直到删除所有元素。"aP粘贴相反的序列,您将得到:{,5,4,3,2,1}