好吧,这可能是一个愚蠢的问题,但是......
我有一个专有语言的源代码文件。我想用VIM编辑所述文件,而不是他们糟糕的编辑器。我想要语言的基本语法高亮,但我不想花费大量时间来编写自己的语法文件。
因此,VIM有一个基本的源突出显示模块吗?它不需要是完美的,我只是希望它涵盖简单的事情。目前,我唯一的选择是没有语法高亮,选择随机语言,或自己滚动。
编辑:下面的源代码示例
{
function letter do
gposition 0, 0
if gender = "M" do
if language = "SPA" OR state = "PR" do
%male spanish letter
gposition .26, .75
pdfimage "MALE SPANISH.pdf", 1, .93
setcolor truewhite
setfillmode 1
%whitebox
gposition 5.25, 1.25
rectangle 2.5, .5
答案 0 :(得分:5)
这可能是正确的语言吗?
答案 1 :(得分:3)
滚动你自己的语法高亮显示不很难,而且需要几分钟。
例如,我编写了一个使用Python的DSL(称为Konira),但它突出了我的自定义DSL语句失败了。这就是“额外”突出显示的外观:
function! KoniraSyntax() abort
let b:current_syntax = 'konira'
syn match KoniraIt '\v^\s+it\s+'
syn match KoniraSkipIf '\v^\s+skip\s+if'
syn match KoniraDescribe '\v^describe\s+'
syn match KoniraRaises '\v^\s+raises\s+'
syn match KoniraBeforeAll '\v^\s+before\s+all'
syn match KoniraBeforeEach '\v^\s+before\s+each'
syn match KoniraAfterEach '\v^\s+after\s+each'
syn match KoniraAfterAll '\v^\s+after\s+all'
hi def link KoniraSkipIf Statement
hi def link KoniraIt Statement
hi def link KoniraDescribe Statement
hi def link KoniraRaises Identifier
hi def link KoniraBeforeAll Statement
hi def link KoniraBeforeEach Statement
hi def link KoniraAfterAll Statement
hi def link KoniraAfterEach Statement
endfunction
正如您在上面所看到的,我设置了当前语法,然后通过正则表达式进行匹配 我想要的陈述,并且我在那场比赛中应用了我需要的突出显示类型。
当您知道(或者如果能够检测到)您正在编辑此类源文件时,您可以将其称为常规函数:
call KoniraSyntax()