如何在 Vim 中更改已更改的 HTML 標籤對?

如何在 Vim 中更改已更改的 HTML 標籤對?

如何配置 Vim,以便當我更改一對匹配的 HTML 標記中的一個成員時,另一個會自動更改以匹配?

例如:給定<span>content</span>,我想更改<span><div>,然後結尾</span>自動更改為</div>。最佳情況下,這會在從插入模式返回正常模式時發生,但如果我必須點擊特殊的鍵綁定才能發生這種情況,那就沒問題了。

答案1

優秀的環繞.vim讓這變得簡單 - 將遊標放在要更改的標籤內的任意位置,在正常模式下,鍵入cst<div>( change surrounding tag to <div>)。開始和結束標記中的標記名稱都將變更為“div”,然後您將返回正常模式。

答案2

以下是幾個步驟:

  1. 將遊標放在第一個標籤上。
  2. 按:選擇外部 html 程式碼vat
  3. Esc退出可視模式並鍵入:

    :'<,'<s/span/div/
    :'>,'>s/span/div/
    

    請注意,:'>,'>s/span/div/如果同一行中出現兩次相同的結束標記,則該方法將無法正常工作,因為它總是會更改第一個結束標記。要修復它,請改用::'>,'>s/.*\zsspan/div/。看:如何更改行中最後一次出現的字串?

有關的:

答案3

維姆塔加隆插件可以做到這一點:

Vim 塔加隆

答案4

隨著SwapIt - 可擴充的關鍵字交換器,您可以定義標籤組,然後可以通過<C-a>/進行切換<C-x>。例如,在~/.vim/ftplugin/html_swapit.vim

SwapList layout p div span

如果您在同一行上有開始和結束標記(並且只有一種類型),您可以透過我的編輯這兩個標記更改全域插件


還有幾個“多遊標”插件,它們允許您標記某些單字並立即編輯它們。

相關內容