Mat*_*man 1 regex vim substitution
我想用肉眼标记几行,然后用<p>和</ p>围绕整个范围.经过大量的摆弄后,我提出了这个接缝命令,它可以起作用:
:'<,'>s/^\(\_.*\)\%V/<p>\1<\/p>/
有没有更好的方法来做到这一点或有人解释为什么它的工作原理?
\_.匹配包括行尾的每个字符.的^(开始的行)和\%V(符合可视范围)接缝的行为奇怪.例如,文档建议您使用两个\%V来包围表达式,但这不是必要的接缝.\%V在开始时使用no 或只有一个匹配整个缓冲区.删除^导致最后一行匹配并单独替换.甲$在末端接缝是不必要的也.
您可以在可视模式下使用surround.vim:
s<pEnter
例如vat(视觉选择'周围'标签),s<p环绕着<p>...</p>
分解:
p编辑:没有环绕你也可以
:C-u'<iEnter
<p>Esc:'>aEnter
</p>Esc
或者更简单:
dO
<p>1C-r"Esc
请注意,在1我的XML filtetype插件(我认为它是默认的)自动提供了结束标记(</p>)所以我们可以使用--- 插入被拉出的内容C-r"---甚至不用插入模式!
| 归档时间: |
|
| 查看次数: |
317 次 |
| 最近记录: |