转换记事本++;将语法高亮显示文件发送到vim(或者是否有人拥有q/kdb&x2B;vim语法高亮显示文件?)

转换记事本++;将语法高亮显示文件发送到vim(或者是否有人拥有q/kdb&x2B;vim语法高亮显示文件?),vim,notepad++,vim-syntax-highlighting,kdb,Vim,Notepad++,Vim Syntax Highlighting,Kdb,我有一个用于q/kdb+语言的语法突出显示文件,我想将其转换为一个与vim兼容的文件,这样我的q代码就不会比平常更难看了 是否有实用程序可用于自动将notepad++xml语法突出显示文件转换为vi版本?我环顾四周,但什么也没找到 或者,有人有vim q语法突出显示文件吗?这两个问题的答案都是否定的(我不知道有任何转换器,也没有q语法突出显示文件),但Notepad++语法突出显示XML格式看起来非常简单。我手头没有“Q”这个词,但我看了一眼《圣经》中的一个,翻译看起来很简单。在这种情况下,您可

我有一个用于q/kdb+语言的语法突出显示文件,我想将其转换为一个与vim兼容的文件,这样我的q代码就不会比平常更难看了

是否有实用程序可用于自动将notepad++xml语法突出显示文件转换为vi版本?我环顾四周,但什么也没找到


或者,有人有vim q语法突出显示文件吗?

这两个问题的答案都是否定的(我不知道有任何转换器,也没有q语法突出显示文件),但Notepad++语法突出显示XML格式看起来非常简单。我手头没有“Q”这个词,但我看了一眼《圣经》中的一个,翻译看起来很简单。在这种情况下,您可以通过以下方式完成大部分工作:

" Remove all the lines that aren't lists of keywords
" (there doesn't seem to be anything much more complicated
" than that in the definition file)
:g!/<Keywords name=/d
" Convert the lines (fairly poor XML parsing here!)
:%s/\s*<Keywords name="\([^"]\+\)">\([[:alpha:]_ ]\{-}\)<\/Keywords>/syn keyword \1 \2/
您必须调整syntax类(本例中为Words1),使其成为将在Vim中高亮显示的对象(或者syn将其链接到将在Vim中高亮显示的对象)

然后,您可能可以使用regexp处理符号,但手工处理符号可能更容易,因此转换:

<Keywords name="Operators">- ! &quot; # $ &amp; * , . ; ? @ \ ^ { | } ~ + &lt; = &gt;</Keywords>
在开始和结束时:

let b:current_syntax = "q"
最后

当然,这并不能完全满足您的需要,但希望它能为您提供许多所需的信息,以获得所需的语法文件。以下方面提供了大量帮助:

:help syntax
并通过查看运行时文件夹的syntax目录中的示例


祝你好运

a q/kdb+vim语法突出显示文件:

谢谢你的提示!这应该会使制作vim文件的过程更容易,它看起来并不复杂。。我只是懒惰。
if exists("b:current_syntax")
    finish
endif
let b:current_syntax = "q"
:help syntax