【问题标题】:FlexLM VIM Syntax HighlightingFlexLM VIM 语法高亮
【发布时间】:2014-11-14 14:59:10
【问题描述】:

我正在尝试使 vim 成为 vim 语法文件,以突出显示 FlexLM 系统的文件。

它包含带有以空格分隔的关键字的行,我想根据它们所处的位置以不同的颜色突出显示它们。

例如: 特征 Infinisim infinism 2.4 31-may-2014 1 SUPERSEDE

以单词 FEATURE 开头的每一行都会有一个颜色的下一个单词,下一个是另一种颜色,依此类推,以空格分隔。

有没有办法做到这一点?

谢谢

【问题讨论】:

    标签: vim vi flexlm


    【解决方案1】:

    我有一个“noddy”vim 文件,因为我只想看到基础知识。将以下内容放入 ~/.vim/syntax/flexlm.vim

    " For version 6.x: Quit when a syntax file was already loaded
    if version < 600
      syntax clear
    elseif exists("b:current_syntax")
      finish
    endif
    
    " Syntax is case INsensitive
    syn case ignore
    
    
    " Main statements
    "===============================================
    syn keyword     flexlmStatement       SERVER DAEMON USE_SERVER
    
    syn keyword     flexlmStatement       FEATURE INCREMENT skipwhite nextgroup=flexlmToken
    syn region      flexlmToken start="\S" end="\s" skipwhite nextgroup=flexlmDaemon
    syn region      flexlmDaemon start="\S" end="\s" skipwhite nextgroup=flexlmVer
    syn region      flexlmVer start="\S" end="\s" skipwhite nextgroup=flexlmDate
    syn region      flexlmDate start="\S" end="\s" skipwhite nextgroup=flexlmCount
    syn region      flexlmCount start="\S" end="\s" skipwhite nextgroup=flexlmStuff
    syn region      flexlmStuff start="\S" end="$"
    
    syn region flexlmComment  start=/#/ end=/$/
    
    syn sync minlines=10
    
    if version >= 508 || !exists("did_flexlm_syntax_inits")
      if version < 508
        let did_flexlm_syntax_inits = 1
        command -nargs=+ HiLink hi link <args>
      else
        command -nargs=+ HiLink hi def link <args>
      endif
    
      HiLink flexlmComment          Comment
      HiLink flexlmStatement        Keyword
      HiLink flexlmToken            Identifier
      HiLink flexlmDaemon           Tag
      HiLink flexlmVer              Label
      HiLink flexlmCount            Macro
      HiLink flexlmStuff            Type
    
      delcommand HiLink
    endif
    
    let b:current_syntax = "flexlm"
    

    然后您可以在 ~/.vimrc 中使用以下内容将其设置为默认语法高亮

    au BufRead,BufNewFile *.dat set filetype=flexlm
    

    显然,您可以根据文件扩展名使用该行,例如.lic 等。你总是可以在 vim 中输入以下内容

    :set syntax=flexlm
    

    如果您想扩展语法突出显示 - 请把结果发回来,因为最好包含选项文件等。

    【讨论】:

      猜你喜欢
      • 2012-08-16
      • 2011-01-19
      • 2015-08-08
      • 2014-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-14
      • 2013-08-01
      相关资源
      最近更新 更多