如何使用正则表达式替换为 Vim
How to replace with Vim using regex
我正在尝试完善我的 HAML 代码,因此我需要将每个 :word => text
更改为 word: text
。
更多示例:
:align => text
应该是 align: text
:style => 'display: block;font-family: Arial'
应该是 style:
'display: block;font-family: Arial'
我试着用 Vim 正则表达式来做到这一点,这里是我用来替换的内容:
:%s /:\w*\s=>/:\w/g
但不幸的是,这并没有像我上面描述的那样。
试试这个:
:%s/:\(\w\+\)\s*=>\(\s*\)/:/g
或者,使用非常神奇的模式来使用更少的反斜杠:
:%s/\v:(\w+)\s*\=\>(\s*)/:/g
</code> 保留了 <code>=>
右侧的空格,这是一种半心半意的尝试,目的是让更改后的内容保持一致。
我正在尝试完善我的 HAML 代码,因此我需要将每个 :word => text
更改为 word: text
。
更多示例:
:align => text
应该是align: text
:style => 'display: block;font-family: Arial'
应该是style: 'display: block;font-family: Arial'
我试着用 Vim 正则表达式来做到这一点,这里是我用来替换的内容:
:%s /:\w*\s=>/:\w/g
但不幸的是,这并没有像我上面描述的那样。
试试这个:
:%s/:\(\w\+\)\s*=>\(\s*\)/:/g
或者,使用非常神奇的模式来使用更少的反斜杠:
:%s/\v:(\w+)\s*\=\>(\s*)/:/g
</code> 保留了 <code>=>
右侧的空格,这是一种半心半意的尝试,目的是让更改后的内容保持一致。