我正在和Vim一起编写教程/书籍,我想关闭一段文本(本书的正常文本)的语法高亮,并为代码示例重新激活它。
我已经谷歌搜索到了无止境,但我找不到一个简单的解决方案。我错过了什么吗?或者这在Vim中无法实现?
答案 0 :(得分: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 :
答案 1 :(得分:3)
我为此编写了SyntaxRange plugin(我的主要用例是使用“diff”语法突出显示电子邮件中的补丁)。有了它,您可以:[range]SyntaxIgnore
或:[range]SyntaxInclude {filetype}
缓冲区的某些部分,或者,当部分以某些标记开始和结束时,定义在线条数量发生变化时适应的动态部分。
答案 2 :(得分:2)
切向思考......
如何在Vim中使用重组文本或降价等内容并在github上渲染。这为您免费提供版本管理。你可以拥有代码块。