使用Vim </span>删除文本周围的<span style =“”>标记

时间:2013-06-30 10:18:29

标签: vim

基本上,我想转这样的东西:

<span style="font-size: 1.1rem;">Lorem ipsum</span>

进入这个:

Lorem ipsum

在整个文件中。

使用Vim最快的方法是什么?

5 个答案:

答案 0 :(得分:3)

如果您要删除所有<span ..>代码并保留内容,则可以:

:%s/<span[^>]*>\([^<]*\)<.*/\1/

如果您只想对某些<span..的{​​{1}}进行替换,则只需将style=".."放在<span style="font-size: 1.1rem;">

之前复制即可

如果您的文件是xml格式,并且您的vim配备了xml插件,您可以使用宏(或\([^<]*\).....),使用xml插件,:g删除周围的标记并离开文本值。

答案 1 :(得分:2)

的内容
:%s/<span style="[^"]*">\([^<]*\)<\/span>/\1/g

应该做的伎俩。不过,我不太确定你是否需要逃避捕获括号。

(感谢Birei逃跑)

答案 2 :(得分:2)

您可以vim surround使用Tim Pope插件。 它非常适合您的需求。

  

Surround.vim是关于&#34;环境&#34;:括号,括号,   引号,XML标记等。该插件提供了轻松的映射   删除,更改和成对添加此类环境。

http://github.com/tpope/vim-surround

答案 3 :(得分:1)

要从正常模式实现相同目的,您可以:

将光标放在配对标签的第一个和最后一个括号之间,并将标签内的内容复制到寄存器中,然后说p

"pyit

然后删除整个对标签:

dat

然后粘贴p寄存器中的内容:

"pp

这种方法的优点是它适用于所有配对标签。当记录为宏时,您可以通过找到标记并运行宏来消除许多不同的标记。

答案 4 :(得分:-2)

:%s/<span style="font-size: 1.1rem;">Lorem ipsum<\/span>/Lorem ipsum/g

由于