Jak przeskakiwać między pasującymi tagami HTML / XML?


44

Jak skakać między pasujące znaczniki (takich jak <div>, <span>itd) podczas edycji dokumentów HTML / XHTML / XML podobnie jak %jest używany, aby przejść między dopasowywania nawiasów?


6
możliwy duplikat Użycie% w językach bez nawiasów klamrowych ... To rozwiązanie działa również dla HTML (właśnie go przetestowałem, jeśli go używasz >, będzie działał jak wcześniej, jeśli go używasz div, będzie działał tak, jak chcesz).
— Martin Tournoij

@Carpetsmoker Jeśli to pytanie byłoby duplikatem ogólnej odpowiedzi (przy użyciu jednej wtyczki), nie pozwoli na żadne odpowiedzi, które dotyczą konkretnie tagów HTML.
— kenorb

Jednak drugie pytanie ma dokładnie tę samą odpowiedź, więc jest to duplikat.
— Klamka

Wysłana przykładowa odpowiedź, która nie pasuje do innego pytania, więc nie jest duplikat.
— kenorb

1
@Doorknob Fakt, że dwa pytania mają tę samą odpowiedź, niekoniecznie oznacza, że ​​pytania są ze sobą duplikatami.
— 200_success

Odpowiedzi:


45

Vim jest wyposażony w makro o nazwie matchit, które robi to za ciebie; wszystko, co musisz zrobić, to aktywować go za pomocą runtime macros/matchit.vimvimrc. Umożliwi to skakanie np. Z a <div>na jego </div>. Zauważ, że twój kursor musi znajdować się w nawiasach kątowych; jeśli jesteś na nawiasach kątowych, %przeskoczysz z jednego nawiasu na drugi jak zwykle.


23

Możesz przełączać się między tagami za pomocą operatorów wizualnych, na przykład:

  1. Umieść kursor na znaczniku.
  2. Wejdź do trybu wizualnego, naciskając v.
  3. Wybierz zewnętrzny blok znaczników, naciskając a+ tlub i+, taby wprowadzić wewnętrzny blok znaczników.

Kursor powinien przeskoczyć do pasującego zamykającego znacznika html / xml. Aby przejść do tyłu od zamykającego znacznika, naciśnij olub, Oaby przejść do przeciwnego znacznika.

Teraz możesz wyjść z trybu wizualnego, naciskając Esc, zmieniając go club kopiując y.


Aby zarejestrować tę akcję w rejestrze, naciśnij, qqaby rozpocząć nagrywanie, wykonaj przeskakiwanie do znaczników jak powyżej (w tym Esc), naciśnij, qaby zakończyć. Następnie, aby wywołać skok, naciśnij @q.


Zobacz więcej pomocy przy :help visual-operatorslub :help v_it:

at<tag> </tag>wiersza (znaczników)

it<tag> </tag>blok wewnętrzny


Alternatywnie użyj wtyczki, takiej jak matchit.vim lub surround.vim .


Zobacz też:


3

xmledit( Http://vimawesome.com/plugin/xmledit ) Wtyczka pozwala skakać pomiędzy otwartymi i bliskich za pomocą tagów

  • <localleader>%

Często <localleader> będzie \, więc możesz skakać

  • \%

UWAGA: W przeciwieństwie matchitdo tego, nie musisz umieszczać kursora wewnątrz tagu. Umieszczenie go bezpośrednio na <lub >jest w porządku dla xmleditwtyczki. :)

UWAGA 2: Wadą jest to, że nie można jej używać w trybie wizualnym. Ale to nie jest wielka sprawa, ponieważ zawsze możesz wybrać cały tag za pomocą at.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.