у меня есть файлы, которые имеют следующий вид входа:ВИМ: пользовательские подсветка для лог-файлов
YYYY-MM-DD HH:MM:SS.sss SEVERITY [thread.name] class.name:line -
суровость один из DEBUG, INFO, WARN или ERROR.
У меня есть файл синтаксиса, который уникально выделяет временную метку и каждую из разных степеней. Теперь, однако, я хочу выделить имя потока, имя класса и номер строки. проблема заключается в том, что в сообщениях журнала могут быть квадратные скобки, поэтому просто начиная с +\[+
и заканчивая на +\]+
, это не сработает.
Я хотел бы отложить то, что я пробовал, но, честно говоря, я просто не знаю, как это сделать. Вот файл у меня до сих пор:
:syn region logTime start=+^\d\{4}-\d\{2}-\d\{2} \d\{2}:\d\{2}:\d\{2}+ end=+ +me=e-1
:syn region logError start=+ERROR+ end=+ +me=e-1
:syn region logWarn start=+WARN+ end=+ +me=e-1
:syn region logInfo start=+INFO+ end=+ +me=e-1
:syn region logDebug start=+DEBUG+ end=+ +me=e-1
hi def logError ctermfg=white ctermbg=red
hi def logWarn ctermfg=yellow
hi def logInfo ctermfg=green
hi def logDebug ctermfg=blue
hi def logTime ctermfg=white ctermbg=blue
Я бы предложил прочитать более поздние главы [this.] (Http://learnvimscriptthehardway.stevelosh.com/) Кроме того, я думаю, было бы лучше, если бы вы использовали «hi link», чтобы цветовые схемы имели бы контроль над вашими цветами. Например, «hi link logError Error» – EvergreenTree
вы можете объяснить, как работает «hi link»? Если я не скажу, какой цвет для пользователя, как он узнает? – ewok
Привет, ссылка просто связывает синтаксис highlgihting group с уже существующей группой. По умолчанию у Vim их много, которые можно перечислить, просто введя команду выделения без каких-либо аргументов. – EvergreenTree