1

我正在用 Vim 编写教程/书籍,我想关闭一段文本(本书的普通文本)的语法突出显示,并为代码示例重新激活它。

我已经用谷歌搜索了无止境,但我找不到一个简单的解决方案。我错过了什么吗?或者这在 Vim 中无法实现?

4

3 回答 3

3

你可以为你的书创建一个语法文件。

例如,您可以创建一个脚本:~/.vim/syntax/tutor.vim

"
" tutor.vim -- syntax file for my book/tutor
"
syn include @PY $VIMRUNTIME/syntax/python.vim
syn region pyBlock start="{{{" end="}}}" contains=@PY

这是一个示例文件:

# File: intro.txt
# Date: 2012-08-19

blah, blah ...
So, I will show you some code:
{{{
    def hello():
        print "world"
}}}

# vim: set syn=tutor :
于 2012-08-19T04:59:54.793 回答
3

我为此编写了SyntaxRange 插件(我的主要用例是使用“diff”语法突出显示电子邮件中的补丁)。使用它,您可以:[range]SyntaxIgnore:[range]SyntaxInclude {filetype}缓冲区的某些部分,或者,当部分以某些标记开始和结束时,定义动态部分以适应行数的变化。

于 2012-08-19T07:08:23.360 回答
2

一边倒地思考……

在 Vim 中使用重组文本或 markdown 之类的东西并在 github 上渲染怎么样?这为您提供免费的版本管理。你可以有代码块。

于 2012-08-19T04:56:48.957 回答