抽出一個完整標記給定一個普通的HTML有點像剪切或在VIM
<div>
<p>
Mary had a <b>little</b> lamb.
</p>
</div>
我希望削減粘貼的整個(不是隻內)div
別處。我知道還有其他的方法可以做到這一點,比如切割一系列線條等等,但作爲VIM的新用戶,我非常需要在前端工作流程中移動標籤,而且我還沒有看到一個很好的方法來完成這個任務。
抽出一個完整標記給定一個普通的HTML有點像剪切或在VIM
<div>
<p>
Mary had a <b>little</b> lamb.
</p>
</div>
我希望削減粘貼的整個(不是隻內)div
別處。我知道還有其他的方法可以做到這一點,比如切割一系列線條等等,但作爲VIM的新用戶,我非常需要在前端工作流程中移動標籤,而且我還沒有看到一個很好的方法來完成這個任務。
與外div標籤您cusor:d一個噸
d elete 一個一輪牛逼 AG
然後將其與p粘貼哪裏你需要它。
這對我有效,謝謝!我發現有很多方法可以做到這一點,包括進入可視化模式(儘可能避免使用這種方式),但這對我的用例非常直接。 – iamnotsam
vatyp
應該這樣做。
vat
直觀地選擇周圍標記光標在
y
猛拉它
p
粘貼。轉到要粘貼的位置並使用p
進行粘貼。
使用at
文本對象作用於整個標記,it
文本對象作用於標記的內容。
作用於當前的文本對象上,你的命令應該是這樣的:
operator + text-object
您可以添加一個count
前的文本對象上count
水平周圍文本對象的行爲:
operator + count + text-object
所以,用光標線1和5,可以使用下面的命令來抽出整個<div>
:
yat
當光標在第2行,3或4,該命令就變成:
y2at
隨着<b>
內的光標,該命令就變成:
y3at
這就是說,我建議你使用視覺模式而不是計數:它更直觀,更安全並且可能更快。重複剛纔的文本對象擴大您的選擇:
vatat
則:
y
見:help motion.txt
。
xml插件http://github.com/othree/xml.vim非常方便編輯xml。
用這個插件,當你的光標在<div>
上時,按<leader>D
,將刪除<div> till </div>
(含)。
如果按<leader>d
,只會刪除<div> and </div>
標籤,更改文字到:
<p>
Mary had a <b>little</b> lamb.
</p>
有更多的功能,你可能要檢查。沒有xml插件,你可以按dat
@JonathanLandrum我猜這是因爲他在div之前的同一行上有其他標籤/文本。 – ElGavilan
在這裏找到了一個關於堆放和粘貼的有用答案:http://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim/1220118#1220118 –
@JonathanLandrum有時標籤是真的大,我看不到它實際上結束了什麼行號。其次,我不喜歡計算喜歡7或8以外的喜歡。也許隨着時間的推移,我會發展出更好的估計感覺,但現在我真的需要像許多積木一樣移動標籤,而不會在精神上轉換爲計數。如果這是有道理的。 – iamnotsam