2014-09-19 4 views
0

Я пытаюсь сделать vim синтаксическим файлом vim, чтобы выделить файлы для системы FlexLM.Выделение синтаксиса FlexLM VIM

Он содержит строки с ключевыми словами, разделенных пробелами, и я хотел бы, чтобы выделить вещи разных цветов, основанные на какую позицию они находятся в

. Например: ВОЗМОЖНОСТИ Infinisim infinism 2,4 31-май-2014 1 SUPERSEDE

Каждая строка, начинающаяся со слова FEATURE, будет иметь следующее слово в одном цвете, следующее в другом и т. Д., Разделенное пробелами.

Есть ли способ сделать это?

Благодаря

ответ

0

У меня есть «простак» файл Vim, как все, что я хочу видеть основные моменты. Поместите в файл ~/.vim/синтаксис/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 

Если вы чувствуете, как расширение подсветки синтаксиса - пожалуйста, напишите результаты обратно, как было бы неплохо включить файлы опций и т.д.

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