Может ли vim выделить соответствующие теги HTML, такие как Notepad ++? - PullRequest
177 голосов
/ 17 ноября 2011

VIM поддерживает сопоставление пар фигурных скобок, скобок и квадратных скобок.Это отлично подходит для редактирования языков C-стиля, таких как PHP и Javascript.Но как насчет сопоставления тегов HTML?

Notepad ++ имел эту функцию, пока я ее использовал.Возможность определить, где блоки HTML начинаются и заканчиваются, очень полезна.Я ищу что-то вроде этого для vim (см. Зеленые теги div):

(бонусная функция: выделение незакрытых тегов HTML, например, красного тега вэтот снимок экрана).

matchit был предложен как лучшая вещь, но для ее использования требуется дополнительное нажатие клавиши.Я хотел бы видеть, где блоки HTML начинаются и заканчиваются без дополнительного нажатия клавиш.

Я пробежался по Интернету, чтобы найти что-то подобное для vim.Судя по всему, я не единственный, по 2 другим StackOverflow вопросам и nabble .

Я почти смирился сVim не может визуально сопоставить HTML-теги.Возможно ли для vim сделать это?

Приложение: Если в настоящее время это невозможно сделать с какими-либо существующими плагинами, есть ли в мастере vimscript какие-либо указатели на то, как подходить к написанию подходящего плагина?

Ответы [ 3 ]

214 голосов
/ 21 ноября 2011

Сегодня мне пришлось поработать с HTML, поэтому я решил заняться этим.Добавлен ftplugin для vim.org, который должен решить вашу проблему.

Вы можете получить его здесь на vim.org .

Вы можете получить его здесьgithub .

Надеюсь, это работает для вас.Дайте мне знать, если у вас возникнут проблемы.

90 голосов
/ 15 сентября 2012

Плагин Greg's MatchTag.vim великолепен, но я хотел чего-то большего.Я хотел, чтобы теги всегда были выделены, а не только когда курсор находится на одном из тегов.

Поэтому я написал MatchTagAlways , который делает все, что совпадает с тегом Грегаделает, а также всегда подсвечивает тег, независимо от того, где находится курсор в коде.Он также работает с незамкнутыми тегами и языками шаблонов HTML, такими как Jinja или Handlebars.

Вот GIF, показывающий это в действии:

MTA in action

0 голосов
/ 11 августа 2012

Я пришел сюда в поисках подходящих угловых скобок в стиле HTML в Vim.Кажется, это работает:

:set mps+=<:>
:help matchpairs
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...