2010-02-18 81 views
9

p粘貼當前行下的東西,dit刪除html標籤內的東西。如何在html標籤內粘貼某些東西?如何在Vim中的html標籤之間粘貼東西?

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

小寫字母'p'在光標後放置文本,大寫字母'P'在光標前放置文本。在放置文本之前移動光標了嗎? http://vimdoc.sourceforge.net/htmldoc/change.html#put – 2010-02-18 08:09:57

回答

10

Pp的結果取決於您在當時所選擇的寄存器中具有的值。如果您刪除或抽出一個或多個完整線(例如與ddYVd命令),然後按P將插入當前行上面的你的寄存器的內容,而p將下面的行插入光標。

如果您刪除或抽出一段文字少於一行(例如與D,或yw命令),然後P將直接在當前光標位置前插入你的寄存器的內容,並p會後直接插入光標(即在同一行上)。

如果有幫助,你可以考慮面向行選擇爲類似於 HTML元素(如<div>),以及按字符選擇爲類似於直列 HTML元素(如span)。

所以要回答你的問題:這取決於。假設你在寄存器中有一行文本行,你需要在執行粘貼操作之前將目標標籤分成兩行。在你的例子中,而不是在做dit刪除標籤的內容,做cit刪除相同的部分並進入插入模式。點擊return一次,插入一個新行,然後esc返回到正常模式,然後P將您的linewise寄存器插入到具有結束標記的行上方。

如果你不想將標籤分成多行,你需要確保你在寄存器中抽取了一個字符選擇。然後,你可以運行:

"_ditP 

"_刪除文成黑洞寄存器,以確保它不會覆蓋什麼是你默認的寄存器。 dit刪除標籤的內容,並且P在光標位置之前粘貼默認寄存器的內容。

0

您可以按「v」視覺,然後去光標所在,然後按pP

2

刪除標記之間的當前內容與命令

cit 

即會,一旦這些內容沒有了,你可以用中鍵點擊粘貼或「在標籤變」如果你需要返回到命令模式並使用正常的p/etc。

1

vitp應處理行向粘貼。

11

我通常只是做vitp它可視化地選擇標籤的內容,然後粘貼選擇的內容。

適合我。