ConTeXt 社区有一个 t-vim 模块,它能够将 vim 编辑器中的代码语法高亮结果转化为 ConTeXt 排版语句。这意味着,凭借 vim 与 t-vim,顿时可让 ConTeXt 在这方面鸟枪换炮。因为 ConTeXt 内置的语法高亮功能目前太孱弱了,即使是嵌入了 Lua 解释器的 MkIV,也需要用户自行去写语法解析脚本。既然有 vim 所提供的 500 多种语法高亮配置,何必再在 ConTeXt 中重新发明轮子呢?所以,应该安装 t-vim 模块。
安装 t-vim 模块的方法非常简单,即:
$ first-setup.sh --modules="t-filter,t-vim"
如果不懂我在说什么,但是又想知道我在说什么,那么应该阅读『睦邻友好的 ConTeXt Standalone』。
当然,你的系统中必须实现安装了 vim。如果不知道 vim 是什么,可能你不是程序猿吧?我纳闷,为啥没有 emacs 爱好者为 ConTeXt 写一个 t-emacs 模块呢?
t-vim 模块的基本用法见下面的示例:
\usemodule[vim]
\definevimtyping[C][syntax=c]
\definevimtyping[python][syntax=python]
\starttext
\startC
#include <stdio.h>
int main(void)
{
printf("Hello World!\n");
return 0;
}
\stopC
\blank\hrule\blank
\startpython
def m_tex_name(m):
m_string="\def\Male{"
if len(m)==2:
m_string += "\def\Male{%s\\\ \quad\\\%s\\\\"%(m[0],m[1])
else:
for w in m:
m_string += "%s\\\\"%(w)
m_string += "\;\\\先\\\生}\n"
return m_string
\stoppython
\stoptext
在我这里得到的结果为:
有关 t-vim 的更多用法,请参考 vim.txt 文件。在开启了 ConTeXt MkIV 运行环境后,可使用 luatools
命令搜索 vim.txt 的路径:
$ luatools vim.txt
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。