如何在Vim中的html标签之间粘贴一些东西?

时间:2010-02-18 07:58:36

标签: vim

p粘贴当前行下方的内容,dit会删除html标记内的内容。如何在html标签内粘贴一些内容?

    Nor here
<p>I want to paste something here</p>
    Not here

5 个答案:

答案 0 :(得分:11)

我通常只做vitp,可视地选择标签的内部内容,然后粘贴所选内容。

适合我。

答案 1 :(得分:10)

Pp的结果取决于您当时在所选寄存器中的内容。如果您删除或抽取一行或多行(例如,使用ddYVd命令),则按P会将注册内容插入< em> line 在当前行之上,而p将插入光标下方的行。

如果您删除或抽取少于一行的文本部分(例如使用Dyw命令),则P将直接插入您的注册内容当前光标位置,p将直接在光标后插入(即在同一行上)。

如果有帮助,您可以将行选择视为类似于 html元素(例如<div>),并将字符选择视为类似于 inline html元素(例如span)。

所以回答你的问题:这取决于你。假设您在寄存器中有一行文本的行,您可能希望在执行粘贴操作之前将目标标记分成两行。在您的示例中,不是执行dit删除标记的内容,而是cit删除相同的部分并进入插入模式。点击return一次,插入一个新行,然后esc返回正常模式,然后P将您的行方向寄存器插入带有结束标记的行上方。

如果您不想将标记拆分为多行,则必须确保将字符选择方式拉入寄存器。然后你可以运行:

"_ditP

"_将文本删除到黑洞寄存器中,确保它不会覆盖默认寄存器中的内容。 dit删除标记的内容,P在光标位置之前粘贴默认寄存器的内容。

答案 2 :(得分:2)

使用命令

删除标记之间的当前内容
cit

将“更改标签”,一旦内容消失,您可以通过中间点击粘贴,或者如果您需要返回命令模式并使用正常的p / etc。

答案 3 :(得分:2)

vitp应处理按行粘贴。

答案 4 :(得分:0)

您可以按“v”进行直观显示,然后转到光标所在的位置,然后按pP