VIM перейти с одного тега XML на закрывающий

19

Есть ли ярлык , чтобы перейти от, например , <XX>к </XX>?

Я уже попробовал "%", но в этой ситуации это не работает.

маргаритка
источник
2
Я думаю, что вам понадобится такой плагин, как matchit , чтобы иметь возможность сопоставлять теги XML. matchitСамо собой, похоже, поставляется с большинством vimдистрибутивов, но вам все равно придется включить его самостоятельно. :help matchit-installдля большего.
jw013

Ответы:

13
  • Установите matchitплагин (см. :help matchit-installИнструкции).
  • Убедитесь, что автоматическое определение типа файла и загрузка плагинов включены ( :filetype plugin on).

Отныне всякий раз, когда вы редактируете файл, обнаруженный как xmlили htmlкакой-либо другой язык разметки на основе тегов, комбинация matchitфайлов плагина и файлов плагина типа файла позволит %движению сопоставлять открытые и закрытые теги.

jw013
источник
20

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

  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 (см .: Использование% в языках без фигурных скобок ).


Смотрите также:

kenorb
источник