Ответ 1
Вы должны иметь возможность сделать это с помощью плагина matchit, набрав%, когда ваша мышь находится в открывающемся теге.
Как и редактирование исходного файла C, я могу нажать%, чтобы получить закрытие} для текущего курсора {. Как это сделать при редактировании html файлов? Есть ли ярлыки? Чтобы быть ясным, я хочу:
<html>
</html>
Когда curosr перемещается в <html>
, я хочу нажать клавишу, чтобы курсор переместился на </html>
.
Вы должны иметь возможность сделать это с помощью плагина matchit, набрав%, когда ваша мышь находится в открывающемся теге.
Вы можете переходить между тегами с помощью визуальных операторов, например:
Курсор должен перейти к соответствующему закрывающему тегу 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 (см. Использование% в языках без курчавых расчалок).
См. также:
У меня были проблемы с этим прошлым, даже с плагином 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,{:}'
Попробуйте, посмотрите, помогает ли это.
MatchTagAlways - это плагин, который всегда выделяет теги XML/HTML, которые заключают ваше местоположение курсора.