好吧,这可能是个愚蠢的问题,但是.
我有一个用专有语言编写的源代码文件。我想用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发布于 2011-06-17 13:48:31
这是正确的语言吗?
http://www.iml.ece.mcgill.ca/~stephan/node/17
发布于 2011-06-17 15:28:31
滚动自己的语法高亮显示一点也不困难,这需要几分钟。
例如,我编写了一个大部分使用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()https://stackoverflow.com/questions/6386085
复制相似问题