#vim
Вопрос:
Используя vim, я хочу выделить среднюю часть ( mm
) yyyymmdd
в другом цвете.
Например
20010101 следует выделить как 2001 01 01
и
20101010 должен быть выделен как 2010 10 10.
Я смог выделить всю дату целиком, включив следующие строки в свой файл .exrc:
highlight yyyymmdd ctermbg=green guibg=green
match yyyymmdd /(19|20)dd(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])/
autocmd BufWinEnter * match yyyymmdd /(19|20)dd(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])/
autocmd InsertEnter * match yyyymmdd /(19|20)dd(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])%#@<!$/
autocmd InsertLeave * match yyyymmdd /(19|20)dd(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])/
autocmd BufWinLeave * call clearmatches()
Но я еще не понял, как выделить только mm
yyyymmdd
«о».
Комментарии:
1. Точно так же, как вы делали это в течение всего свидания, с соответствующим рисунком.
2. Я хочу выделить только часть шаблона, т. Е. я хочу выделить 12 в 19991231, но не в 99991299
Ответ №1:
Вы можете использовать :h zs
и :h ze
для выделения только части рисунка. Например,
highlight yyyymmdd ctermbg=green guibg=green
match yyyymmdd /(19|20)d{2}zsd{2}zed{2}/