Навигация по HTML-тегам в Vim
Я хотел бы иметь возможность перемещаться по тегу HTML по тегу. Есть ли способ, с помощью которого я могу перемещаться из тега HTML в тег. (т.е. *<div>hi</div><div>bye</div>
--- > <div>hi</div>*<div>bye</div>
Я знаю о cit
и cat
, поэтому я бы предположил, что это возможно. Спасибо!
Ответы
Ответ 1
Макрос matchit.vim
предоставляет вам большую часть пути, позволяя вам перейти к закрывающему тегу с помощью %
, поскольку вы согласитесь с парсером или фигурными скобками. Он включен во многие дистрибутивы Vim, включая стандартную загрузку, но часто не включается по умолчанию.
http://www.vim.org/scripts/script.php?script_id=39
Ответ 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 (см.: Использование% в языках без фигурных скобок).
Смотрите также: