gpt4 book ai didi

vim - VIM:创建语法高亮文件的简单步骤-用于日志文件

转载 作者:行者123 更新时间:2023-12-03 09:22:08 32 4
gpt4 key购买 nike

我有一些日志文件生成(log4j生成);我非常了解它们的格式(我的意思是我已经可以使用现成的正则表达式等)。

加载它们时,我想在VIM中自动突出显示它们(* .log)。

日志文件条目如下所示:

YYYY-MM-DD HH:MM:ss,SSS [...] #LOG-LEVEL# [...] Message

其中#LOG-LEVEL#是标准的'ERROR','INFO','DEBUG','FATAL'....和'YYYY-MM ...'之一,表示日期/时间到毫秒的分辨率。

为了让我开始工作,在(例如)黄色背景上用蓝色文本突出显示日期字符串需要执行哪些步骤-以及当文本显示为“ERROR”时,它应该使用白色背景的红色背景。

我已经尝试过一些教程,但是找不到足够简单的教程,因此我在这里做了一些实际的基本步骤!

干杯

编辑:
根据以下说明,这是我所做的摘要:
  • 在.vim \ syntax中创建了语法文件'log.vim'(有关内容,请参见下文)。
  • 在.vim \ ftdetect \ log.vim中创建了一个文件,其内容如下:

    au BufRead,BufNewFile * .log设置filetype = log
  • 确保在我的启动设置中包含以下内容:

    语法开启
  • 上的文件类型

    最佳答案

    有三种定义语法项的方法(请参阅:help :syn-define):

  • 关键字:这些项目是由关键字字符组成的简单字符串。这是最快的匹配器。
  • 匹配项:这些是用于匹配的正则表达式。
  • 区域:这些区域适用于可能包含其他项目的较长区域。

  • 有各种参数使事情变得更复杂(与区域内的匹配等有关),有关此问题的讨论,请参见 :help :syn-arguments

    有一个优先级生效(请参阅 :help :syn-priority)。

    着色由高亮命令控制,并且与语法命令分开。

    一种简单的入门方法是使用匹配项来检测日期,并使用关键字来检测错误。然后使用高光使颜色栩栩如生:
    " This creates a keyword ERROR and puts it in the highlight group called logError
    :syn keyword logError ERROR
    " This creates a match on the date and puts in the highlight group called logDate. The
    " nextgroup and skipwhite makes vim look for logTime after the match
    :syn match logDate /^\d\{4}-\d\{2}-\d\{2}/ nextgroup=logTime skipwhite

    " This creates a match on the time (but only if it follows the date)
    :syn match logTime /\d\{2}:\d\{2}:\d\{2},\d\{3}/

    " Now make them appear:
    " Link just links logError to the colouring for error
    hi link logError Error
    " Def means default colour - colourschemes can override
    hi def logDate guibg=yellow guifg=blue
    hi def logTime guibg=green guifg=white

    将〜/ .vim / syntax / log.vim中的所有内容都删除,并确保正确设置了文件类型(请参见 :help filetype.txt)-然后应自动加载。

    希望那应该给你一些东西。 (逐步)阅读 :help syntax.txt:help usr_44.txt的各个部分,以获取更多信息。

    关于vim - VIM:创建语法高亮文件的简单步骤-用于日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2193157/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com