2013-02-26 65 views
2

任何人都可以提出一種在每個段落開頭執行命令的方法(特別是在視覺選擇內)嗎?例如,我用純文本編寫了一個文檔,現在我想將其轉換爲HTML,因此我要做的一件事是將每個段落包裝在<p></p>中。在每個段落的開頭/結尾執行命令

編輯:

我已經想出了迄今爲止唯一的事情是一樣的東西:'<,'>g/^\s*$/normal o<p>^[在段落的開頭插入<p>標籤,並相同,但有資本O到在段落的末尾添加結束標籤。顯然,這會碰到任何空白行,所以如果段落之間有多行,它會插入額外的不必要的標籤。

回答

2

試試這個命令:

g/\v(\_^\s*\n)@<=\S/normal O<p>^[}o</p> 

^[C-V <ESC>

\v打開 「verymagic」,使該模式的其餘部分更容易編寫。圓括號包括一個與行的開始(\_^),任何數量的whitepsace(\s*)然後行尾(\n)(換句話說,一個空行)相匹配的子表達式。 @<=表示前面的子表達式實際上並未包含在匹配的文本中,但需要匹配。然後,任何非空白字符(\S)總結匹配模式。

它在這裏工作,如:

enter image description here

其實
+0

非常酷,謝謝。 – brianmearns 2013-02-26 17:21:31

+0

@ sh1ftst0rm thx解釋。 :) – Kent 2013-02-26 19:50:05

1

只要安裝surround並再次享受生活:

選擇段落然後做s<p>

+0

,未經環繞它可以通過'q'進行爲好。然而,問題是,OP想要視覺選擇一堆文本,並且選擇內的那些段落應該被標籤「包圍」。 – Kent 2013-02-26 13:36:41

+0

有很多段落時效率不高。 – 2013-02-26 13:40:37