
一致する HTML タグのペアの一方のメンバーを変更すると、もう一方も自動的に一致するように変更されるように Vim を構成するにはどうすればよいでしょうか?
たとえば、 の場合、を に<span>content</span>
変更すると、閉じるが自動的に に変更されます。挿入モードから通常モードに戻ったときにこれが発生するのが最適ですが、これが発生するように特別なキーバインディングを押さなければならない場合でも問題ありません。<span>
<div>
</span>
</div>
答え1
優れたサラウンド.vimこれは簡単です。変更したいタグ内の任意の場所にカーソルを置き、通常モードでcst<div>
( c
hange s
urrounding t
ag to <div>
) と入力します。開始タグと終了タグの両方でタグ名が "div" に変更され、通常モードに戻ります。
答え2
手順は次のとおりです:
- 最初のタグにカーソルを置きます。
- を押して外側の HTML コードを選択しますvat。
Escビジュアル モードを終了して次のように入力します:
:'<,'<s/span/div/ :'>,'>s/span/div/
:'>,'>s/span/div/
同じ行に同じ終了タグが 2 回出現すると、常に最初のタグが変更されるため、正しく動作しないことに注意してください。これを修正するには、:'>,'>s/.*\zsspan/div/
代わりに : を使用します。参照:行内の文字列の最後の出現を変更するにはどうすればよいですか?
関連している:
答え3
ヴィムついて行くプラグインはこれを実行できます:
答え4
とともにSwapIt - 拡張可能なキーワードスワッパー<C-a>
では、 /を介して切り替えることができるタグ グループを定義できます<C-x>
。たとえば、次のようになります~/.vim/ftplugin/html_swapit.vim
。
SwapList layout p div span
開始タグと終了タグが同じ行にある場合(そしてその種類のタグが1つしかない場合)、私のChangeGloballyプラグイン。
また、特定の単語をマークして一度に編集できる「マルチカーソル」プラグインもいくつかあります。