2015-07-01 3 views
1

Я пытаюсь настроить подсветку синтаксиса в VIM, чтобы она соответствовала всей строке, только если первый символ без пробелов - «-» или если последнее не-пробельное Характер строки - «:». У типичной строки есть много вкладок перед текстом.Синтаксис Подсветка в VIM для соответствия первой/последней строке строки

Например, есть такие строки (с вкладками перед текстом):

- Go Home сегодня

Ешьте овощи:

Я не хочу, однако чтобы соответствовать этим (не конец или начало строки).

Go - Главная Сегодня

Eat: овощи

Я пробовал различные итерации, но не может получить это право. Например, следующие только штрихи штрихов, включая каждую тире в файле. Я хочу, чтобы он выделил всю строку, если совпадают последние или начальные символы.

syn region dash start=/\v-/ end=// oneline 
highlight link dash String 

Я знаю, что мне просто нужно, чтобы мои начальные и конечные поиски были правильными, но мне не повезло. Как я могу это сделать?

ответ

2

попробовать что-то вроде этого:

syn region dash start=/^\s*\zs-/ end=/$/ oneline 
syn region dash start=/^/ end=/:\ze\s*$/ oneline 
highlight link dash String 
+0

Отлично! Спасибо. Есть ли способ создать регион для текста, не начинается с «-» или заканчивается на «:»? Некоторая комбинация из вышеперечисленного? –

+0

@che_kid Отрицания всегда сложны. Вот то, что почти работает: 'syn region nondash start =/^ \ s * \ zs [^ -]/end =/[^:] \ ze \ s * $/oneline' – lcd047

Смежные вопросы