一致するHTML / XMLタグ間をジャンプする方法は?


44

一致する括弧間をジャンプするために使用されるのと同様にHTML / XHTML / XMLドキュメントを編集するときに<div>、一致するタグ(<span>、など)間をジャンプする方法%は?


6
中かっこなしの言語で%使用する可能性のある複製...このソリューションはHTMLでも機能します(テストしている場合は、>以前のように動作しますdiv
マーティントゥルノイ

@Carpetsmokerこの質問が一般的な回答(プラグインを1つ使用)と重複している場合、htmlタグを具体的に扱っている回答は許可されません。
ケノーブ

ただし、他の質問にはまったく同じ答えがあるため、これは重複しています。
ドアノブ

他の質問には収まらない回答のサンプルを投稿しました。そのため、重複することはありません。
ケノーブ

1
@Doorknob 2つの質問が同じ答えを持っているという事実は、質問が互いに重複していることを必ずしも意味しません。
200_success

回答:


45

Vimには、これを行うmatchitというマクロが付属しています。あなたがする必要があるのはruntime macros/matchit.vimあなたのvimrcでそれを活性化することだけです。これにより、例えばa <div>からそのにジャンプできます</div>。カーソルは山かっこ内になければならないことに注意してください。山かっこを使用している場合は%、通常どおり、一方のブラケットから他方のブラケットにジャンプします。


23

例では、視覚演算子を使用してタグ間をジャンプできます。

  1. タグにカーソルを置きます。
  2. を押して視覚モードに入りますv
  3. 内部タグブロックのa+ tまたはi+ tを押して、外部タグブロックを選択します。

カーソルは、一致する終了html / xmlタグにジャンプします。終了タグから後方にジャンプするには、oまたはOを押して反対側のタグにジャンプします。

これで、を押してビジュアルを終了するかEsc、変更するcか、でコピーできますy


そのアクションをレジスタに記録するには、を押しqqて記録を開始し、上記のようにタグジャンプを実行し(を含むEsc)、を押しqて終了します。次に、ジャンプを起動するには、を押し@qます。


:help visual-operatorsまたはのヘルプを参照してください:help v_it

at<tag> </tag>(タグ付き)ブロック

it インナー<tag> </tag>ブロック


あるいはこのようなプラグインが使用matchit.vim又はsurround.vim


こちらもご覧ください:


3

xmledithttp://vimawesome.com/plugin/xmledit)プラグインを使用して開始タグと終了タグの間にジャンプすることができます

  • <localleader>%

多くの場合、<localleader>はになる\ため、次のようにジャンプできます。

  • \%

注:とは異なりmatchit、タグ内にカーソルを置く必要はありません。プラグイン上に配置する<>xmleditプラグインに最適です。:)

注2:ここでの欠点は、ビジュアルモードでは使用できないことです。ただし、これは大したことではありませんat。タグを使用していつでもタグ全体を選択できるためです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.