Как переключаться между соответствующими тегами (например <div>
, <span>
и т.д.) при редактировании HTML / XHTML / XML документы аналогично тому, как %используются для перехода между согласующими скобками?
Как переключаться между соответствующими тегами (например <div>
, <span>
и т.д.) при редактировании HTML / XHTML / XML документы аналогично тому, как %используются для перехода между согласующими скобками?
Ответы:
Vim поставляется с макросом matchit, который делает это для вас; все, что вам нужно сделать, это активировать его runtime macros/matchit.vim
в вашем vimrc. Это позволит вам перейти от, например, <div>
к его </div>
. Обратите внимание, что курсор должен находиться внутри угловых скобок; если вы находитесь в угловых скобках, %переходите от одной скобки к другой, как обычно.
Вы можете переходить между тегами, используя визуальные операторы, например:
Ваш курсор должен перейти к соответствующему закрывающему тегу 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 или surround.vim .
Смотрите также:
xmledit
( Http://vimawesome.com/plugin/xmledit ) плагин позволяет перемещаться между открывающим и закрывающим тегами , используя
Часто <localleader> будет \, так что вы можете перейти с
ПРИМЕЧАНИЕ. В отличие от этого matchit
, вам не нужно указывать курсор внутри тега. Размещение его прямо на <
или >
отлично подходит для xmledit
плагина. :)
ПРИМЕЧАНИЕ 2: Недостатком здесь является то, что вы не можете использовать его в визуальном режиме. Но это не имеет большого значения, так как вы всегда можете выбрать весь тег с помощью at.
>
он будет работать как раньше, если он включен,div
он будет работать так, как вы хотите).