Многострочная подсветка в Vim - PullRequest
2 голосов
/ 08 апреля 2011

В настоящее время я пишу плагин в Vim, который должен выделять произвольные строки в файле одновременно.

До сих пор мой подход реализовывал match с номером строки, чтобы выделить его, нопроблема в том, что мне нужно было бы добавить | для каждой другой строки в файле и добавить эту информацию, а затем вызывать ее каждый раз, когда окно перерисовывается.

Есть еще одна проблема с match в моемслучай, и это то, что строка, которая может не иметь пробелов, не будет выглядеть выделенной (match только выделяет существующий текст / пробел).

Так что даже если бы у меня был match, переписать окно и выделить всестроки, которые мне нужны, с точки зрения пользователя, это было бы бесполезно, если при выделении ничего не отображается, если нет пробелов / текста.

Могу ли я получить какие-либо предложения по эффективному отображению / отображению/ Highlight (я открыт для разных реализаций, чтобы решить мою проблему) произвольных строк в файле одновременно, независимо от количестватекст или пробел?

Редактировать: Мой основной запрос - возможность выделить строки по номеру строки , а не по регулярному выражению.Поэтому любое решение должно быть достаточно гибким, чтобы соответствовать номеру строки.

Редактировать: signs - это ответ на мою проблему, и я нашел этот урок лучшим способом понять и реализовать то, что мне нужно: http://htmlpreview.github.io/?https://github.com/runpaint/vim-recipes/blob/master/text/07_navigation/12_bookmarking_lines_with_visible_markers.html

1 Ответ

1 голос
/ 08 апреля 2011

Я бы использовал region вместо match.Вот часть моего файла синтаксиса рукописи, который выделяет речь:

:syntax region msSpeech start=/"/ end=/"\|\n\n/
:highlight msSpeech guifg=#000088

Он начинается с двойной кавычки и заканчивается другой двойной кавычкой или концом абзаца.При необходимости будет выделено несколько строк.

...