任何人都可以建议一种在每个段落的开头(尤其是在视觉选择中)执行命令的方法吗?例如,我用纯文本编写了一个文档,现在我想将它转换为 HTML,所以我要做的一件事就是将每个段落包装在<p>
and中</p>
。
编辑:
到目前为止,我唯一想到的就是在段落的开头:'<,'>g/^\s*$/normal o<p>^[
插入标签,同样的,但用大写字母在段落的末尾添加结束标签。显然这会命中任何空白行,因此如果段落之间有多行,它将插入额外的不必要的标签。<p>
O
任何人都可以建议一种在每个段落的开头(尤其是在视觉选择中)执行命令的方法吗?例如,我用纯文本编写了一个文档,现在我想将它转换为 HTML,所以我要做的一件事就是将每个段落包装在<p>
and中</p>
。
编辑:
到目前为止,我唯一想到的就是在段落的开头:'<,'>g/^\s*$/normal o<p>^[
插入标签,同样的,但用大写字母在段落的末尾添加结束标签。显然这会命中任何空白行,因此如果段落之间有多行,它将插入额外的不必要的标签。<p>
O
试试这个命令:
g/\v(\_^\s*\n)@<=\S/normal O<p>^[}o</p>
^[
是C-V <ESC>
\v
打开“非常神奇”,以便模式的其余部分更容易编写。括号包裹了一个子表达式,它匹配行的开头 ( \_^
)、任意数量的 whitepsace ( \s*
),然后是行的结尾 ( \n
)(换句话说,一个空行)。这@<=
意味着前面的子表达式实际上并未包含在匹配的文本中,而是需要匹配。然后任何非空白字符 ( \S
) 结束匹配模式。
它在这里的工作方式如下:
只需安装环绕并再次享受生活:
选择你的段落然后做s<p>
。