как быстро найти закрывающий тег html в vim? - PullRequest
17 голосов
/ 07 ноября 2010

Так же, как редактирование исходного файла C, я могу нажать%, чтобы получить закрытие} для текущего курсора {. Как я могу сделать это при редактировании HTML-файлов? Есть ли ярлыки? Чтобы было понятно, я хочу:

<html>
</html>

Когда curosr перемещается на <html>, я хочу нажать клавишу, чтобы курсор перешел на </html>.

Ответы [ 4 ]

18 голосов
/ 17 февраля 2015

Вы можете перемещаться между тегами, используя визуальные операторы, например:

  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:

на *Блок 1053 * a <tag> </tag> (с тегами)

it внутренний <tag> </tag> блок


В качестве альтернативы используйте плагин, такой как matchit.vim (См .: Использование% в языках без фигурных скобок ).


См. также:

15 голосов
/ 07 ноября 2010

Вы можете сделать это с помощью плагина matchit, набрав%, когда ваша мышь находится на открывающем теге.

http://www.vim.org/scripts/script.php?script_id=39

5 голосов
/ 09 ноября 2010

У меня были проблемы с этим в прошлом, даже с плагином matchit. Я решил это, изменив b: match_words в файлах типа xml. Вот соответствующий раздел из моего .vimrc:

  autocmd FileType html let b:match_words = '<\(\w\w*\):</\1,{:}'
  autocmd FileType xhtml let b:match_words = '<\(\w\w*\):</\1,{:}'
  autocmd FileType xml let b:match_words = '<\(\w\w*\):</\1,{:}'

Попробуйте, посмотрите, поможет ли это.

0 голосов
/ 25 апреля 2016

MatchTagAlways - это плагин, который всегда выделяет теги XML / HTML, которые содержат местоположение вашего курсора.

https://github.com/Valloric/MatchTagAlways

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...