Я хотел бы иметь возможность перемещаться по тегу HTML по тегу. Есть ли способ, с помощью которого я могу перемещаться из тега HTML в тег. (т.е. *<div>hi</div><div>bye</div>
--- > <div>hi</div>*<div>bye</div>
Я знаю о cit
и cat
, поэтому я бы предположил, что это возможно. Спасибо!
Навигация по HTML-тегам в Vim
Ответ 1
Макрос matchit.vim
предоставляет вам большую часть пути, позволяя вам перейти к закрывающему тегу с помощью %
, поскольку вы согласитесь с парсером или фигурными скобками. Он включен во многие дистрибутивы Vim, включая стандартную загрузку, но часто не включается по умолчанию.
Ответ 2
Вы можете переходить между тегами, используя визуальные операторы, например:
- Поместите курсор на тег.
- Войдите в визуальный режим, нажав v.
- Выберите внешний блок тегов, нажав 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 (см.: Использование% в языках без фигурных скобок).
Смотрите также:
- Как перейти между соответствующими тегами HTML/XML? на Vim SE
- Перейти к соответствующим тегам XML в Vim в stackoverflow SE
- Как быстро найти закрывающий тег html в vim? на стеке потока
- Как перемещаться между начальным и конечным тегом HTML? на суперпользователя SE
- VIM перейти с одного тега XML на закрывающий тег в Unix SE
- Как выбрать содержимое HTML-тега в Vim? на суперпользователя SE